Quiq::JavaScript - Generierung von JavaScript-Code
$line = $class->line($code);
Mehrzeiliger JavaScript-Code (String)
JavaScript-Code einzeilig (String)
Wandele mehrzeiligen JavaScript-Code in einzeiligen JavaScript-Code und liefere diesen zurück. Die Methode ist nützlich, wenn formatierter, mehrzeiliger JavaScript-Code in ein HTML Tag-Attribut (JavaScript-Handler wie onclick="..." oder onchange="...") eingesetzt werden soll.
Aus
var s = ''; for (var i = 0; i < 10; i++) s += 'x';
wird
Die Regeln der Umwandlung:
Leerzeilen und Zeilen nur aus Whitespace werden entfernt
Whitespace (einschl. Zeilenumbruch) am Anfang und am Ende jeder Zeile wird entfernt
alle Zeilen werden mit einem Leerzeichen als Trenner konkateniert
Damit dies sicher funktioniert, muss jede JavaScript-Anweisung mit einem Semikolon am Zeilenende beendet werden und darf nicht, wie JavaScipt es auch erlaubt, weggelassen werden.
$scriptTags = Quiq::JavaScript->script($h,@specs);
Liste von Script-Spezifikationen.
Übersetze die Code-Spezifikationen @specs in einen oder mehrere Script-Tags.
Mögliche Code-Spezifikationen:
Datei $file wird geladen und ihr Inhalt wird in einen Script-Tag eingefasst.
Zeichenkette $string wird in einen Script-Tag eingefasst.
Zeichenkette wird als URL interpretiert und in einen Script-Tag mit src-Attribut übersetzt.
Wird zu @specs expandiert.
Code zum Laden einer JavaScript-Datei über URL:
$script = Quiq::JavaScript->script($h,'https://host.dom/scr.js'); => <script src="https://host.dom/scr.js" type="text/javascript"></script>
Code aus Datei einfügen:
$style = Quiq::JavaScript->script($h,'inline:js/script.css'); => <script type="text/javascript"> ... </script>
Code direkt einfügen:
$style = Quiq::JavaScript->script($h,q| ... |); => <script type="text/javascript"> ... </script>
Mehrere Code-Spezifikationen:
$style = Quiq::JavaScript->script( '...' '...' );
Mehrere Code-Spezifikationen via Arrayreferenz:
$style = Quiq::JavaScript->script( ['...','...'] );
Dies ist nützlich, wenn die Spezifikation von einem Parameter einer umgebenden Methode kommt.
1.132
Frank Seitz, http://fseitz.de/
Copyright (C) 2019 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.