Bookmarklet, um ein neues Fenster zu öffnen und das aktuelle Fenster an [Objektfenster] weiterzuleiten?

9

Ich verwende ein kleines Bookmarklet, das eine Webseite in einem neuen Fenster öffnet. Es funktioniert ordnungsgemäß auf Chrom.

Wenn ich jedoch dasselbe in Firefox verwende, öffnet sich ein neues Fenster mit neuer Webseite, aber die Seite, auf die dieses Bookmarklet geklickt wurde, wird auf eine Seite mit dem Text [object Window] weitergeleitet. Wie löse ich dieses Problem?

Mein Code:

%Vor%

Bitte lassen Sie mich wissen, wie Sie dieses Problem lösen können.

Danke

    
Lalith 17.03.2011, 04:17
quelle

2 Antworten

15

Sie müssen den letzten Rückgabewert in der JavaScript-URL "essen", indem Sie alles zurückgeben, was typeof returnValue != 'undefined' dem Aufrufen von document.write(returnValue) entspricht. Und window.open gibt das neu erstellte window -Objekt zurück, daher die Ausgabe von "[object Window]". Sicher, Sie können das tun, indem Sie void(0) -Anweisung gedankenlos anhängen, aber es ist SO tollpatschig. No-Magic-Version (Rückgabewert gegessen, Aufruffenster ungestört):

%Vor%

Sie werden wahrscheinlich Ihr Bookmarklet erweitern. Um also den globalen Geltungsbereich zu umgehen, sollten Sie lieber anonym gehen (beachten Sie das Fehlen von return -Anweisung):

%Vor%     
Free Consulting 23.03.2011, 22:48
quelle
0

Versuchen Sie diesen Code, ich habe "void (0)" hinzugefügt Um das Elternfenster zu stoppen, gehen Sie nach dem Klicken weg.

%Vor%     
ahgood 17.03.2011 14:05
quelle