2010-12-15 114 views
2
<input type="button" onclick=openAPage()></> 

我有一个按钮JavaScript的新的页面加载时间

function openAPage() { 
var myWin = window.open("http://www.sabah.com.tr","_blank") 
} 

和功能

这里的问题:当我按下按钮,我应该启动一个定时器,当页面完全加载定时器将停止..

我需要当我按下按钮? 当页面完全加载?

我该怎么办?

+0

你可以使用jQuery:

使用测试? – Ilyssis 2010-12-15 18:47:05

+0

您要求的内容对JavaScript不可行,因为按下按钮时触发的代码无法从加载的页面获取信息。 – Babiker 2010-12-15 18:57:47

回答

0

如果你可以使用jQuery的话,我会建议这个插件 http://keith-wood.name/countdown.html

function openAPage() { 
    var myWin = window.open("http://www.sabah.com.tr","_blank"); 
    startTimer(); 
} 

function startTimer() { 
    // ... call jquery plugin to start timer 
} 

function stopTimer() { 
    // ... call jquery plugin to stop timer 
} 

然后在“孩子”窗口,我相信这样的事情应该工作? 但我猜测这将工作只有在父母和孩子都在同一个域

jQuery(document).ready(function() { 
    // call js method that lives on the parent window 
    window.opener.stopTimer(); 
}); 
+0

这种类型依赖于您能够将该代码放入目标页面。 – 2014-05-09 16:34:15

0

注:以下scURIple(通用URI对应的JavaScript:scriplets)是无状态的,因此由始发政策无限制。

data:text/html;charset=utf-8, 
<html><script> 
uri='data:text/html;charset=utf-8,<\html><\script>alert(\'click to finish load\')<\/script><\/html>'; 
</script> 

<a href="javascript: 
         window.open(uri,'_blank') . 
           addEventListener( 'load',Function('alert(Date.now()-'+Date.now()+')'), false);"> 
    one method </a><p> 

<a href="javascript:st=Date.now(); 
         window.open(uri,'_blank') . 
           addEventListener( 'load', function(){alert(Date.now()-st)}, false);"> 
another way</a> 

</html> 

数值结果以毫秒为单位。

适用相同的网站来源和跨网站脚本政策。例如,如果uri='http://www.google.com'那么上面的页面必须加载到已经显示www.google.com页面的窗口中。

window.navigator.userAgent= 
     Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 
                                   (Splashtop-v1.2.17.0)