我有一個頁面,執行以下操作:PHP/JavaScript。瀏覽器「負荷」,直到永遠,畢竟資源下載完成後,加上歌劇/鉻問題
瀏覽器加載一個非常簡單的頁面,有效的頭部和身體,只有腳本/無腳本對作爲內容。
在正文中,它有一個運行onLoad函數的腳本(腳本a)。這個函數動態地包含第二個腳本(腳本b),並在它可用時運行一個函數。
第二個腳本是一個可執行各種工作的.js文件。
這兩個腳本都是由PHP解析並使用application/x-javascript內容類型。
現在,我有這一切工作得很好,除了幾個JS打嗝。 JavaScript不是我強大的語言之一,所以我希望這些都是簡單的問題,有人可以指引我朝着正確的方向發展。
問題1:如果我做了一個簡單的提示('你在腳本b');在第二個腳本中,它按預期工作。但是,如果我做了其他任何事情,它都可以正常工作,然後瀏覽器始終指示它永久加載。這是Firefox中的顏色補間,或IE中的旋轉東西。
我試過用不同的方式結束腳本,似乎沒有任何幫助。任何想法如何向瀏覽器表明腳本完全加載?這是一個強制通過PHP解析的.js文件。
問題2:第二個腳本似乎根本不包含在Opera或Google Chrome中。在加載問題之外,在FF/IE中正常工作。任何人都可以看到我是否使用不兼容的加載第二個腳本的東西?
謝謝!
更新:
感謝您的答案。我其實有螢火蟲,這就是爲什麼我知道一切正常工作(至少在FF中)。我實際上並不知道該腳本在Opera/Chrome中不起作用,但沒有任何反應。
這是相當多的代碼= o)我會將實際的響應從firebug中複製出來併發布,這樣你就可以準確地看到代碼是什麼。至於關閉連接的網絡服務器,我也在想,但是如果我把腳本b變成alert('whatever'),這似乎很奇怪。它會提醒然後停止加載,但是我做的一切完全相同,但是使腳本document.write('whatever);它會永久加載。
這裏有腳本,更新,直接從螢火淨標籤複製:
注意discoverfire.net是內部域,所以你將無法從那裏加載任何東西...
初始HTML頁面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Welcome!</title>
<style>body { font-family:arial; }</style>
<script language="JavaScript" type="text/javascript" src="http://www.discoverfire.net/analytics/l/a.js">
</script>
<script language="JavaScript" type="text/javascript">
document.onload = Start();
function Start(){
TAFKing_version = '1.0';
TAFKing_lkey = '19-8O-KKA8HV';
TAFKing_Lander();
}
</script>
</head>
<body>
<noscript>
Oops! We can't forward you properly because your JavaScript is turned off.<br /><br />
<a href='http://www.discoverfire.net/analytics/l/noscript/19-8O-KKA8HV.html'>Please click here to continue.</a>
<img src='http://www.discoverfire.net/analytics/l/imp/19-8O-KKA8HV.png' border='0' alt='tell a friend' />
</noscript>
</body>
</html>
**腳本A(...一個。JS):http://www.discoverfire.net/analytics/l/a.js **
function TAFKing_Lander(){
version = TAFKing_version;
lkey = TAFKing_lkey;
var scrb = document.createElement('script');
scrb.type = 'text/javascript';
scrb.src = 'http://www.discoverfire.net/analytics/l/b.js?lkey='+lkey+'&version='+version+'&cb=4eohe8e65'
;
document.getElementsByTagName('head')[0].appendChild(scrb);
Interval = setInterval("Waiter()", 10);
return;
}
function Waiter(){
if(window.TAFKing_LanderB) {
clearInterval(Interval);
TAFKing_LanderB();
}
}
腳本B(... b.js):http://www.discoverfire.net/analytics/l/b.js?lkey=19-8O-KKA8HV&version=1.0&cb=4eohe8e65
function TAFKing_LanderB(){
document.write("there are just a whole bunch of doc.writes here that build a simple table");
}