2010-12-20 81 views
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") 
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

回答

0

使用谷歌瀏覽器的開發者工具timeline function

+0

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

+0

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

0

如果您不需要以編程方式執行此操作,那麼Firebug的Net tab將爲您提供所需的所有信息,您需要了解給定資源在頁面上請求多長時間。

1

這是因爲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