弹出窗口打开,但不会自动关闭

时间:2019-02-10 01:34:20

标签: javascript

我需要自动关闭使用以下javascript打开的窗口。弹出窗口已正确打开,但不会在1秒后自动关闭。

<script>
function myFunction() {
  window.open("http://google.com", "_blank", "toolbar=no,scrollbars=no,resizable=no,top=50,left=250,width=300,height=150"); setTimeout("window.close();", 1000)
}
</script>

有人可以帮忙解决这个问题。

谢谢

1 个答案:

答案 0 :(得分:3)

您的settimeout只是在调用一个字符串,这不是一个函数。

您还需要获取对弹出窗口的引用,然后对引用进行关闭:

<script>
function myFunction(e, anchor) {
    e.preventDefault(); // Prevent navigation to page
    var popup = window.open("http://google.com", "_blank", "toolbar=no,scrollbars=no,resizable=no,top=50,left=250,width=300,height=150");
    setTimeout(function(){
        popup.close();
        // Continue navigating to link
        window.location.href = anchor.getAttribute("href");
    }, 1000);
}
</script>


<a href="https://yahoo.com" onclick="myFunction(event, this)"> <span class="tcb-button-texts">TRY IT NOW</span> </a>