网页加载时间

问题描述:

var startTime = new Date().getTime(); 
var myWin = window.open("http://www.hizlial.com/hediyelik/hediyelik-urunler/zippo-jack-daniels-ltr-flask-hediye-seti_16.004.4126.1233.htm","_blank") 
window.onload = function() { opener.window.endtime = new Date().getTime(); } 
var endTime = opener.window.endtime; 
var timeTaken = endTime-startTime; 
document.write(timeTaken); 

我编辑了新的代码,但这次我无法写出timeTaken值?所以这里有什么错误?网页加载时间

+0

window.onload行应该在目标代码中,在这种情况下,http://www.hizlial.com/hediyelik/hediyelik-urunler/zippo-jack-daniels-ltr-flask-hediye-seti_16.004.4126。 1233.htm,那么你也应该从打开的窗口调用完成回调。所以你打开的窗口应该有window.onload = function(){window.opener.endTime = new Date()。getTime(); window.opener.finished();}; – qwertymk 2010-12-20 03:56:16

+0

你可以修复代码吗?并写在这里,如果你可以..我不是那么好在JS ..我需要时间在屏幕上的价值 – 2010-12-20 04:01:07

我会用Firebug中的Net来测试页面的加载时间。

使用谷歌浏览器的开发者工具timeline function

+0

你究竟是什么意思?我将如何使用它? – 2010-12-20 03:33:01

+0

http://tinyurl.com/2fjq58s – cbp 2010-12-20 03:34:35

如果您不需要以编程方式执行此操作,那么Firebug的Net tab将为您提供所需的所有信息,您需要了解给定资源在页面上请求多长时间。

这是因为javascript不是线程语言,这意味着它不会等待事情发生,它会打开页面,而页面加载时会继续执行其他操作。什么,你需要做的是添加到目标页面这样的:

window.onload = function() { window.opener.endtime = new Date().getTime(); } 

或者作为斋月穆拉特写道:

var startTime = new Date().getTime(); var myWin = window.open("www.mozilla.com"); 
window.onload = function() { opener.window.endtime = new Date().getTime(); }; 
var timeTaken = endTime-startTime; 

另一种方式去了解这将是这样:

<script>start = new Date().getTime();</script> 
<iframe src="http://www.mozilla.com/" onload="end=new Date().getTime();"></iframe> 
+1

var startTime = new Date()。getTime(); var myWin = window.open(“http://www.hizlial.com/hediyelik/hediyelik-urunler/zippo-jack-daniels-ltr-flask-hediye-seti_16.004.4126.1233.htm”,“_blank”) (); opener.window.endtime = new Date()。getTime(); } var timeTaken = endTime-startTime; – 2010-12-20 03:41:27

+1

你的意思是? – 2010-12-20 03:42:29

+0

哈哈耶,谢谢 – qwertymk 2010-12-20 03:44:21