【问题标题】:How to open just one popup?如何只打开一个弹出窗口?
【发布时间】:2015-04-25 04:00:43
【问题描述】:

我有这个 Javascript 代码:

function call() {
    popup = window.open('http://www.google.co.in');
    setTimeout(wait, 5000);
}

function caller() {
    setInterval(call, 1000);
}

function wait() {
    popup.close(call, 1000);
}

我有这个 HTML 代码:

<body onload="caller();">`

它会打开无数个弹出窗口

我不知道如何只打开一个弹出窗口,而不是打开无数个文件。

【问题讨论】:

  • 如果你只想要一个弹出窗口,为什么要使用间隔开始呢?这是一个重复的执行调用。也许你想要 setTimeout,它只触发一次。
  • 您要一次又一次地打开和关闭窗口吗?如果是这样,您需要在变量中跟踪弹出窗口的状态(打开或关闭)。

标签: javascript html popup popupwindow


【解决方案1】:

当您的caller() 函数运行时,它会使用setInterval 调用call 函数,该函数将在无限期上运行。

改为:

setInterval(call, 1000);

到这里:

setTimeout(call, 1000);

这只会在 1 秒后调用一次。

【讨论】:

    【解决方案2】:

    要在每次用户访问您的页面时打开一次弹出窗口,您可以使用,即:

    <html>
     <head>
      your head
     </head>
      <body onload="popMe();">`
       your body
       <script>
       popMe(function(){ window.open('http://www.google.co.in'); }, 5000);
       </script>
      </body>
    <html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多