2014-01-19 104 views
2

我需要在10秒内关闭浏览器窗口。我在一个名为callback.html.erb的rails视图文件中试过这段代码。这是我的代码。n秒后关闭浏览器窗口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> 

它似乎没有工作(没有真正发生)。任何想法,我在哪里错了?

提前致谢!

回答

2

查看此答案。基本上,如果你没有打开它,你就无法关闭窗口。 Close windows that were not opened by script using javascript

+0

哦,试试这个。这是一个无赖。还有其他方法可以实现吗? –

+0

除非你用'''window.open()'''打开窗口,否则你不能。这是一个安全限制。 – vooD

+0

感谢您的时间! –

0

它应该是:

window.onload = closeWindow; 

通过将()末,你立即调用closeWindow,但你要提供给这个函数的引用。

0

与计数countdown-

<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>