2016-07-08 12 views
0

Ich bin gerade auf der Suche nach Kleinigkeiten von HTML und Javascript, um eine kleine Sache, die Pandora öffnet in einem Popup-Fenster statt einer Registerkarte zusammen. Ich habe es ungefähr wo ich es will aber habe ein Problem mit setTimeout. Mein Ziel ist es, die HTML-Datei öffnen zu lassen, die dann das Popup-Fenster öffnet und den Tab oder das gesamte Hauptbrowserfenster schließt, wobei nur das Popup übrig bleibt. Ich habe festgestellt, dass die Verwendung von nur self.close es nicht Zeit gibt, das Popup zu öffnen, bevor es den gesamten Browser schließt, während das Hinzufügen von SetTimeout es bei Verzögerung schließt, aber das Popup blockiert. Ich weiß wirklich nichts über Javascript und habe gerade herum gespielt, also jede mögliche Hilfe auf einer Arbeit herum oder andere Weise, self.close zu verzögern würde geschätzt.setTimeout verursacht Popup-Blockierung

Was ich bisher habe:

<html> 
<title>Pandora</title> 
<body onload="pandoraFunction(); setTimeout('closeFunction()', 3000)"> 

<script> 
function pandoraFunction() { 
    window.open('http://www.pandora.com','window','menubar=yes,screenX=0,screenY=0,top=0,left=0,location=no,status=no,toolbar=no,scrollbars=yes,resizable=no,width=' + (screen.width - 10) + ',height=' + screen.availHeight); 
} 
function closeFunction() { 
    self.close() 
} 
</script> 

</body> 
</html> 

Antwort

0

Ich glaube, das alles in Ordnung ist ... Sie wollen einfach nur window.close(); statt self.close(); verwenden.

<html> 
    <head> 
     <title>Pandora</title> 
    </head> 
    <body onload="pandoraFunction(); setTimeout('closeFunction()', 3000)"> 
     <script> 
      function pandoraFunction() { 
       window.open('http://www.pandora.com','window','menubar=yes,screenX=0,screenY=0,top=0,left=0,location=no,status=no,toolbar=no,scrollbars=yes,resizable=no,width=' + (screen.width - 10) + ',height=' + screen.availHeight); 
      } 

      function closeFunction() { 
       window.close() 
      } 
     </script> 

    </body> 
</html> 

Referenz: How to close current tab in a browser window?