2011-01-11 12 views
0

Aufgrund der Einschränkungen eines wirklich klobig CMS, ich binFenster aufheben? Öffnen Pop-up?

target="_blank" 

zu öffnen Links in einem neuen Fenster zu verwenden, nicht in der Lage. Also ich denke, dass meine einzige wirkliche Lösung ist es, den Link auf einer Zwischen Seite zu verweisen, die ein neues Fenster öffnet sich und leitet dann das aktuelle Fenster zurück zur Ursprungsseite ... so etwas wie folgt aus:

window.open ("http://www.NewPage.com/"); 
window.location = "http://www.OldPage.com/"; 

Natürlich werden die meisten Browser die window.open-Methode blockieren ... also was sind meine Optionen? Sicherlich gibt es einige clevere Javascript-Tricks, um das zu umgehen.

Antwort

1

Keine Optionen. Du kannst es nicht tun, und das aus gutem Grund.

Browser erlauben nur window.open() funktionieren, wenn der Code, der es aufruft, ein Ereignis wie "klick" behandelt. In diesem Fall geht der Browser davon aus, dass die Seite ein anklickbares Element enthält und der Benutzer weiß, dass ein Popup angezeigt wird. Wenn eine Seite gerade window.open() für ein neues Fenster aus einem Kontext aufruft, wie etwa geraden Skriptcode oder in einem "ready" - oder "load" -Ereignishandler oder einem XMLHttpRequest-Callback, dann nimmt der Browser an, dass das Popup etwas anstößig sein könnte.

Einige Browser erlauben dem Benutzer diese Regeln zu entspannen, aber Ihr Code kann das nicht erzwingen.

0

Sie können wahrscheinlich nur einen iFrame auf der Seite einfügen und über alles positionieren, aber ich würde das wirklich nicht empfehlen.

Der Browser wird kontrollieren, ob die window.open ist erlaubt oder nicht am Ende des Tages, also würde ich nicht versuchen, eine Lösung zu finden.