Verwandeln Sie JavaScript in ein Lesezeichen oder ein Bookmarklet?

6886
vishal

Ich habe ein Skript erstellt, das Passwörter im Schwebeflug anzeigt, genau wie Windows 8.

Ich habe diese Funktionalität durch JavaScript mit folgendem Code erstellt.

function text()function password()function addHandlers()else}}addHandlers() 

Tut mir leid für den gepackten JavaScript-Code, aber ich möchte ein Lesezeichen oder ein Bookmarklet erstellen, das dieses Skript ausführt ...

Ich habe es versucht:

javascript:(mycode); 

Aber es hat nicht funktioniert ...

3
Lesezeichen ist nicht sehr spezifisch. Es gibt mehr als ein Programm, das so etwas wie ein Lesezeichen / Bookmarklet kennt. Natürlich scheint es, dass Sie einen Browser meinen. Nun, da gibt es Firefox, IE, Opera etc .. welches? humanityANDpeace vor 11 Jahren 0

2 Antworten auf die Frage

3
humanityANDpeace

Um Ihr spezielles Problem zu lösen, ist es mir gelungen, Ihren JavaScript-Code in dieser Version fehlerfrei auszuführen:

javascript:(function();function password();function addHandlers()else}};addHandlers();alert("bookmarklet loaded");})();

Um zu sehen, ob Ihr Code funktioniert, habe ich alert("bookmarklet loaded");am Ende des Bookmarklets ein hinzugefügt . Sie können also versuchen und sollten - seit ich Firefox 17 getestet habe - als Ergebnis eine Messagebox sehen. Wenn Ihr Code funktioniert oder nicht funktioniert, kann ich nicht sagen, aber das war natürlich nicht die Frage.

Es gibt einige Dinge, die Sie berücksichtigen oder die Umwandlung von JavaScript-Code in <script></script>Tags einfacher für ein Lesezeichen übernehmen können

  • In normalem JavaScript-Code kann eine Newline zwei Befehle trennen. Bookmarklets sind in einer Zeile, ersetzen Sie also den Zeilenumbruch durch ein Semikolon . .

Ein Beispiel hier

Lassen Sie uns ein Beispiel haben. Wir haben zwei Quellcode-Schnipsel mit zwei Anweisungen:

var anumber=1 var atext="hallo" 

Wenn Sie alle in eine Zeile setzen (= den Zeilenumbruch in Whitespaces umwandeln), würden Sie zuerst Folgendes erhalten:

var anumber=1 var atext="hallo" 

Dies ist kein gültiger JavaScript-Code mehr. Wenn Sie zwei Anweisungen in einer Zeile kombinieren möchten, müssen Sie die beiden Anweisungen mit einem Semikolon wie folgt trennen / trennen:

var anumber=1; var atext="hallo" 
  • Wickeln Sie den gesamten Code in eine Art dieser Art von Verschluss ein:
    javascript:(function(){ [...here your code...] })();

Es gibt einige Websites, die die Lösung untersuchen. Wie hier .

In normalem Javascript-Code kann eine Newline zwei Befehle trennen. Bookmarklets sind in einer Zeile, ersetzen Sie also den Zeilenumbruch durch ein Semikolon. was bedeutet das .. kannst du mehr ausarbeiten ?? vishal vor 11 Jahren 0
Ich empfehle, immer Semikolons einzufügen, obwohl Sie mehr darüber lesen können [hier] (http://inimino.org/~inimino/blog/javascript_semicolons). Karan vor 11 Jahren 2
0
Kar.ma

Sie waren eigentlich ganz nah dran. Sie müssen es nur so formulieren:

javascript:(function())(); 

In Ihrem Beispiel können Sie dies versuchen:

javascript:(function();function password();function addHandlers()else}};addHandlers()})(); 

Bitte beachten Sie die Semikolons, wenn Sie Ihren Code minimieren, da Ihnen einige fehlten.

PS Nachdem ich meine Antwort gepostet hatte, habe ich Ihren Code ausprobiert und ich mag ihn! Nützlicher Trick, ich habe dieses Bookmarklet gespeichert Kar.ma vor 5 Jahren 0