Große Menge an Zeichen/Daten kodieren
boopla
- javascript
Hallo,
ich versuche grad über Javascript einer vorhandenen Seite eine eigene Stylesheet-Datei zu "verpassen". Das klappt auch, nur würde ich gern die Styleangaben, welche intern im Script definiert sind, da es keine externe Quelle gibt, kodieren.
Hab dazu leider nix gefunden was passen könnten. Hat jemand einen Tipp ?
nur würde ich gern die Styleangaben, welche intern im Script definiert sind, da es keine externe Quelle gibt, kodieren.
Inwiefern kodieren?
Struppi.
Naja irgendwie komprimieren oder in einen einzigen zusammenhängenden String (ähnlich md5) umwandeln um nicht immer z.B. alle " escapen zu müssen etc. ...
Naja irgendwie komprimieren oder in einen einzigen zusammenhängenden String (ähnlich md5) umwandeln um nicht immer z.B. alle " escapen zu müssen etc. ...
Mir ist nicht klar was du machen willst, es klingt aber unsinnig.
Struppi.
Ich will die Styleangaben für diverse Element in eine Variable speichern. Das ist ein wenig umständlich wenn ich alle " escapen und am Zeilenende n Umbruch einfügen muss.
Ich will die Styleangaben für diverse Element in eine Variable speichern. Das ist ein wenig umständlich wenn ich alle " escapen und am Zeilenende n Umbruch einfügen muss.
Wieso musst du alle Anführungszeichen escapen und warum musst du einen Zeilenumbruch einfügen?
Struppi.
Naja das Beispiel hatte ich doch schon erwähnt:
Wenn ich z.B. mittels Dom Manipulation ein extra stylesheet hinzufügen will
dann müssen die Styleangaben ja erstmal in eine Variable.
var stylevalue="#overlay {\n\ position: absolute;\n\ top: 0;\n\ left: 0;\n\ z-index: 90;\n\ width: 100%;\n\ height: 500px;\n\ }\n";
So z.B. (in dem Fall muss man jetzt nix escapen aber die \ am Ende sind nervig wenn man sie von Hand machen muss etc.
Das ist bei dem kleinen Beispiel nicht so aufwändig aber wenn nachher größere Mengen an Code hinzugefügt werden sollen schon...
Ich will jetzt halt die Styleangaben komprimieren so das er z.B. die Sonderzeichen escaped o.ä.
Wenn ich z.B. mittels Dom Manipulation ein extra stylesheet hinzufügen will
dann müssen die Styleangaben ja erstmal in eine Variable.
Wieso? Woher kommen denn diese Angaben?
var stylevalue="#overlay {\n\ position: absolute;\n\ top: 0;\n\ left: 0;\n\ z-index: 90;\n\ width: 100%;\n\ height: 500px;\n\ }\n";
So z.B. (in dem Fall muss man jetzt nix escapen aber die \ am Ende sind nervig wenn man sie von Hand machen muss etc.
Ich verstehe immer noch nicht, wieso du hier einen Zeilenumbruch machen musst?
Ich will jetzt halt die Styleangaben komprimieren so das er z.B. die Sonderzeichen escaped o.ä.
Welche Sonderzeichen? Im CSS Code haben Sonderzeichen nichts zu suchen und komprimieren könntst du den Code schon wenn du die Zeilenumbrüche wegläßt.
Mir ist aber nach wie vor nicht klar, was dein Javascript Problem ist.
Struppi.
Also ich will den ganzen Text (Styleangaben) soweit zusammenfassen das ich nur noch einen String aus Bustaben,Zahlene etc. habe, ohne Leerzeichen, Anführungszeichen etc.
Die Zeilenumbrüche dienen der Lesbarkeit später.
Wenn ich z.B. javascript Code in die Seite einbetten will, muss ich jedes " escapen was im Code vorkommt.
Ich arbeite mit Greasemonkey und verändere die Seite dann mittels JS, aber um neuen Javascript Code/CSS in die Seite zu einzubetten wäre es hilfreich die Daten zu kodieren ähnlich base64...
Also ich will den ganzen Text (Styleangaben) ...
Du beantwortest meine Fragen nicht :-(
Welchen Text, woher kommt dieser Text? Fällt er vom Himmel? Steht er auf einem Stück Papier?
soweit zusammenfassen das ich nur noch einen String aus Bustaben,Zahlene etc. habe, ohne Leerzeichen, Anführungszeichen etc.
Die Zeilenumbrüche dienen der Lesbarkeit später.
Diese beiden Sätze widersprechen sich doch. Einerseits willst du den Text möglichst unlesbar machen und dann soll er doch lesbar sein? Was ist das für eine Logik?
Wenn ich z.B. javascript Code in die Seite einbetten will, muss ich jedes " escapen was im Code vorkommt.
Nein musst du nicht, wie kommst du darauf?
Ich arbeite mit Greasemonkey und verändere die Seite dann mittels JS, aber um neuen Javascript Code/CSS in die Seite zu einzubetten wäre es hilfreich die Daten zu kodieren ähnlich base64...
Inwiefern wäre es hilfreich?
Struppi.
Also ich will den ganzen Text (Styleangaben) ...
Du beantwortest meine Fragen nicht :-(
Welchen Text, woher kommt dieser Text? Fällt er vom Himmel? Steht er auf einem Stück Papier?
Die denk ich mir aus. Sind nicht extern vorhanden (als Datei) sondern müssen in der Datei selbst angegeben werden.
soweit zusammenfassen das ich nur noch einen String aus Bustaben,Zahlene etc. habe, ohne Leerzeichen, Anführungszeichen etc.
Die Zeilenumbrüche dienen der Lesbarkeit später.Diese beiden Sätze widersprechen sich doch. Einerseits willst du den Text möglichst unlesbar machen und dann soll er doch lesbar sein? Was ist das für eine Logik?
Ne da widerspricht sich nichts, die Zeilenümbrüche sollen natürlich mit kodiert werden. Also die Daten werden kodiert und beim ausführen der Datei wieder dekodiert.
Wenn ich z.B. javascript Code in die Seite einbetten will, muss ich jedes " escapen was im Code vorkommt.
Nein musst du nicht, wie kommst du darauf?
Wie gesagt kommt der Code in eine Variable. Da es nur " und ' gibt und ich im Code zwangsläufig eines der beiden Zeichen escapen.
Ich arbeite mit Greasemonkey und verändere die Seite dann mittels JS, aber um neuen Javascript Code/CSS in die Seite zu einzubetten wäre es hilfreich die Daten zu kodieren ähnlich base64...
Inwiefern wäre es hilfreich?
Insofern dass ich wie gesagt nicht entweder am Ende einer jeden Zeile ein \ eintragen muss oder den Code auf eine Zeilen bringen muss oder escapen ...
Hi!
Hier gibts irgendwie ein Kommunikationsproblem.
Sehe ich das richtig? Du willst einer Seite die Du laedst eigene Stylesheets verpassen?
Ist Dein Problem, dass Du ein Stylesheet in einem Editor schreibst
.marker
{
color:#f00;
padding:5px;
border: 1px solid #123456;
}
Und das dann in einem JS Code einfuegen moechtest der es auf eine fremde Seite im Browser anwendet?
Und Du hast jetzt das Problem, das nach dem kopieren deiner Stylenagaben (vielelicht schreibst Du sie auch direkt in den code un moechtest es halt uebersichtlich) sowas wie:
mystylesheet=".marker
{
color:#f00;
padding:5px;
border: 1px solid #123456;
}"
Probleme macht?
Also ich will den ganzen Text (Styleangaben) ...
Du beantwortest meine Fragen nicht :-(
Welchen Text, woher kommt dieser Text? Fällt er vom Himmel? Steht er auf einem Stück Papier?Die denk ich mir aus. Sind nicht extern vorhanden (als Datei) sondern müssen in der Datei selbst angegeben werden.
Das heißt du willst den Text kodiert eintippen? Um dann zu dekodieren und im Skript zu verwenden? Das ist doch Unsinn.
Ne da widerspricht sich nichts, die Zeilenümbrüche sollen natürlich mit kodiert werden. Also die Daten werden kodiert und beim ausführen der Datei wieder dekodiert.
Und warum muss der Code nach dem dekodieren lesbar sein? Den sieht doch nur der Browser.
Wie gesagt kommt der Code in eine Variable. Da es nur " und ' gibt und ich im Code zwangsläufig eines der beiden Zeichen escapen.
Nein - genau aus dem Grund musst du keines der beiden Zeichen escapen.
Insofern dass ich wie gesagt nicht entweder am Ende einer jeden Zeile ein \ eintragen muss oder den Code auf eine Zeilen bringen muss oder escapen ...
Wieso musst du überhaupt eine Zeile beenden, du kannst auch alles in eine Zeilen schreiben.
Aber ich glaube ich verstehe jetzt was du suchst, so etwas wie ein Here Dokumente sowas gibt es in Javascript nicht.
Und wenn du code in einen einzeiligen MD5 Hash umwandeln willst, musst du die mit einem externen Programm machen und dir eine entsprechende Dekodierung selber schreiben oder die von selfhtml verwenden.
Wobei ich das ganze Vorhaben aufwendig finde.
Struppi.
Hiho!
Gib doch spaßeshalber mal nen Beispiel.