2016-04-26 13 views
0

Ich möchte eine URL in einem neuen Fenster öffnen, und nach x Sekunden oder wenn die Seite fertig geladen ist, möchte ich es wieder schließen.Javascript schließen Sie eine Registerkarte, die Sie gerade geöffnet haben

Ich verwende jetzt:

window.open('http://otherurl.com', 'newwindow', 'width=300, height=250'); return false; 

Die 'otherurl' nicht-Domäne ist, so kann ich nicht, dass die URL steuern.

Wie kann ich das tun?

+0

window.close() auf die Registerkarte – JordanHendrix

+0

@JordanHendrix zu schließen, dass die aktuellen Tab zu schließen ist? Ich möchte den neuen Tab schließen, den ich gerade geöffnet habe – wtm

Antwort

7

window.open gibt Ihnen einen Verweis auf das Fenster, so:

var newWindow = window.open('http://otherurl.com', 'newwindow', 'width=300, height=250'); 

setTimeout(function() { newWindow.close(); }, 5000); 
+0

Danke, das war's! Gibt es auch eine Möglichkeit, es zu schließen, wenn es voll geladen ist? – wtm

+2

Ich sehe nicht, wie Sie das ohne eine gewisse Koordination mit der anderen Site aus Sicherheitsgründen tun könnten. Sie können nicht aus einem Fenster lesen oder schreiben, wenn Sie auf eine andere Domäne schauen. –

+0

@MatthewDotcom, obwohl Sie nicht wissen können, wann die externe Seite vollständig geladen ist, könnten Sie kompensieren, indem Sie der setTimeout-Funktion zusätzliche Zeit hinzufügen. –

Verwandte Themen