【问题标题】:close browser window after n seconds rails在 n 秒后关闭浏览器窗口
【发布时间】:2014-01-19 09:02:17
【问题描述】:

我需要在 Rails 上 10 秒内关闭浏览器窗口。我在名为 callback.html.erb 的 Rails 视图文件中尝试了此代码。这是我的代码。

<center>
<p>
    Your profile has been processed. This browser window will close in 10 seconds
</p>
</center>
<script type="text/javascript">
function closeWindow() 
{
    setTimeout
    (
        function() 
        {
            window.close();
        },10000
    );
}
window.onload = closeWindow();
</script>

它似乎没有工作(没有真正发生)。知道我哪里错了吗?

提前致谢!

【问题讨论】:

    标签: javascript html ruby-on-rails


    【解决方案1】:

    看到这个答案。基本上,如果您还没有打开它,您将无法关闭它。 Close windows that were not opened by script using javascript

    【讨论】:

    • 哦。真可惜。还有其他方法可以实现吗?
    • 除非您使用window.open() 打开窗口,否则您不能。这是一种安全限制。
    • 感谢您的宝贵时间!
    【解决方案2】:

    应该是:

    window.onload = closeWindow;
    

    通过将() 放在末尾,您会立即调用 closeWindow,但您想提供对该函数的引用。

    【讨论】:

      【解决方案3】:

      用倒计时试试这个-

      <p style="text-align:center">Please select a seller to process the report.<br/>
      This window will close automatically within <span id="counter">10</span> second(s).</p>
      
              <script type="text/javascript">
      
                  function countdown() {
                  var i = document.getElementById('counter');
                  i.innerHTML = parseInt(i.innerHTML)-1;
                  if (parseInt(i.innerHTML)<=0) {
                       window.close();
                  }
              }
              setInterval(function(){ countdown(); },1000);
              </script>
      

      【讨论】:

        猜你喜欢
        • 2014-10-14
        • 1970-01-01
        • 2010-09-15
        • 2019-12-03
        • 2013-07-24
        • 2012-07-21
        • 2017-01-16
        • 2021-10-03
        • 1970-01-01
        相关资源
        最近更新 更多