javascript新页面加载时间

时间:2010-12-15 18:30:59

标签: javascript timer

<input type="button" onclick=openAPage()></>

我有一个按钮

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

和一个功能

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

我按下按钮时需要什么? 页面满载时?

我该怎么办?

3 个答案:

答案 0 :(得分:0)

也许这会有所帮助: Execute Javascript When Page Has Fully Loaded

答案 1 :(得分: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(); 
});

答案 2 :(得分:0)

注意:以下scURIple(与javascript:scriplets相对应的通用URI)是无状态的,因此不受原始策略的限制。

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)