繁体   English   中英

Javascript链接可创建新标签页,并在Chrome中5秒钟后将其关闭

[英]Javascript link that creates new tab and closes it after 5 seconds in Chrome

在Chrome中新打开的标签页5秒钟后,我应该怎么做才能关闭?

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

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

这是codepen http://codepen.io/anon/pen/gMOQJK?editors=0010

您可以使用setTimeout(function,timeInMiliseconds,paramaters)这是运行代码的链接: 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");

由于沙箱属性,因此无法实现。 你可以看看它在: 这里

尝试代码:

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

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

进入控制台,它将正常工作。 但是当您在应用程序中编写此代码时,它将给出错误。

请查看https://jsfiddle.net/xjyw26hy/2/ ,打开控制台,然后单击链接以查看沙箱错误。

请让我知道它是否对您有帮助。

我创建了以下代码( 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>";
}

我可以成功操作新标签页的DOM,但是当我尝试在5秒后关闭标签页时,Chrome沙盒会停止该事件。 可以清除DOM中的所有内容而不是将其关闭。

关闭选项卡在Firefox和IE中运行良好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM