2009-08-14 6 views
0

Ich habe ein sehr einfaches Bookmarklet erstellt die URL der Website einreichen zur Zeit zu einem Skript betrachtet wird:Stop-Safari Auswertung document.location bevor ein Bookmarklet speichern (favelet)

javascript:document.location%20=%20'http://www.example.com/script?user=___&key=___&url='+document.location 

ich dienen diese als Link auf einer HTML-Seite, die ein Benutzer in seine Lesezeichen-Symbolleiste oder wo auch immer hochziehen kann. Der Clou ist, dass Safari alleine das JS vor dem Erstellen des Lesezeichens bewertet, so dass die übermittelte URL immer diejenige der Seite ist, auf der ich den Link anzeige.

Wie gehe ich vor, dies zu beheben, indem ich Safari daran hindere, das document.location vor dem bookmarken zu bewerten, ohne es für andere Browser zu unterbrechen? Ich würde es eher vermeiden, ein separates Bookmarklet für Safari zu haben.

Danke!

Mala

Antwort

0

I -believe- die Antwort des ausgewerteten Teil mit Flucht einfach zu umgeben ist():

[...]&url='+escape(document.location) 

Sie noch keinen Zugang zu einem Mac/Safari haben, so kann ich‘ Ich sage dir ganz sicher, ob es funktioniert ...