2016-05-30 10 views
0

Was soll ich tun, um nach 5 Sekunden, die neu geöffneten Registerkarte in Chrome zu schließen?Javascript-Link, der neue Registerkarte erstellt und schließt es nach 5 Sekunden in Chrome

var link = $("<a />", { 
      target: "_blank", 
      text: "Phone", 
      href: 'www.google.com'}); 

$("body").append(link); 

Hier ist codepen http://codepen.io/anon/pen/gMOQJK?editors=0010

+1

hast du überhaupt gegoogelt ?? siehe -> http://stackoverflow.com/questions/16127115/closing-popup-window-after-3-seconds – AndrewBramwell

Antwort

0

Sie könnten setTimeout (function, timeInMiliseconds, Paramater) verwenden Hier ist ein Link auf den Code läuft: http://codepen.io/anon/pen/ZOEVQb?editors=0010

var link = $("<a />", { 
    target: "_blank", 
    text: "Phone", 
    href: 'www.google.com', 
    id: 'link' 
}); 

$("body").append(link); 

function remove(id) { 
    return (elem=document.getElementById(id)).parentNode.removeChild(elem); 
} 
setTimeout(remove, 3000, "link"); 
+0

Dies entfernt Link von Körper, aber ich wollte neu erstellte Registerkarte schließen. –

+0

Entschuldigung. Ich habe die Frage missverstanden :) – Kiksen

0

Dies kann nicht durch erreicht werden zum Sandbox-Attribut. Sie können einen Blick an ihm haben: Here

Try Code:

var win = window.open("http://www.google.com"); 

setTimeout(function() { win.close();}, 5000); 

in die Konsole und es wird funktionieren. Aber wenn Sie diesen Code in Ihre Anwendung schreiben, gibt es einen Fehler.

Bitte zeigen Sie https://jsfiddle.net/xjyw26hy/2/, öffnen Sie die Konsole, bevor Sie auf den Link klicken, um Fehler der Sandbox anzuzeigen.

Bitte lassen Sie mich wissen, ob es hilfreich für Sie ist oder nicht.

0

ich diesen Code erstellt haben (jsfiddle):

var i = 0; 
function open_and_run() { 
    newTab = window.open("https://fiddle.jshell.net/fakePage/"); 
    intervalVar=setInterval(function(){myTimer(newTab,intervalVar)},1000); 
} 

function myTimer(newTab, intervalVar) { 
    i++; 
    if (i > 5){ 
     clearInterval(intervalVar); 
     newTab.close(); 
    } 
    newTab.document.body.innerHTML="<br><p style='font: 30px bold;'>" + i + "</p>"; 
} 

Ich kann DOM des neuen Tab erfolgreich manipulieren, aber, wenn ich versuche, auf die Registerkarte nach 5 Sekunden zu schließen, stoppt Chrom Sandbox das Ereignis. Es ist möglich, alles im DOM zu löschen, anstatt es zu schließen.

Schließen der Registerkarte funktioniert in Firefox und IE.

Verwandte Themen