2011-08-15 91 views
1

我有一個簡單的JavaScript,它在按下按鈕時加載新的樣式表......它在除Chrome之外的每個瀏覽器中都能正常工作。它甚至可以在共享Webkit引擎的Safari中正常工作。Javascript適用於除Chrome之外的所有瀏覽器

這裏是我的頁面的鏈接:www.evanjackson.net/index-new.html

我研究這個問題,我已經嘗試了一堆東西,但不能弄明白。該腳本位於文件「initial.js」中。任何幫助將不勝感激!

相關代碼:

<div onclick="hideStuff('button1'); showStuff('button2'); loadjscssfile('css/custom-theme-reskin2/reskin.css','css'); return false;" id="button1" style="display: block;"> 
       &nbsp; 
</div> 

function loadjscssfile(filename, filetype){ 
    if (filetype=="js"){ //if filename is a external JavaScript file 
     var fileref=document.createElement('script') 
     fileref.setAttribute("type","text/javascript") 
     fileref.setAttribute("src", filename) 
    } 
    else if (filetype=="css"){ //if filename is an external CSS file 
     var fileref=document.createElement("link") 
     fileref.setAttribute("rel", "stylesheet") 
     fileref.setAttribute("type", "text/css") 
     fileref.setAttribute("href", filename) 
    } 
    if (typeof fileref!="undefined") 
     document.getElementsByTagName("head")[0].appendChild(fileref) 
} 
+0

你能在這裏粘貼相關代碼嗎?您可以點擊編輯器中的「{}」按鈕,告訴它您正在粘貼代碼。 –

+0

您的網頁在Chrome/Mac中適用於我。你確定你不只是有一些不好的緩存嗎? –

+0

您在Chrome中啓用了哪些擴展程序?你可以嘗試一個全新的安裝Chrome嗎? –

回答

0

由於沒有足夠的信息,我只能猜測:

我猜,你有任何擴展啓用它與您的代碼碰撞或有一些不好的代碼您的緩存。

你可以嘗試以下方法:

  1. 清除瀏覽器緩存
  2. 禁用所有擴展
  3. 重新啓動瀏覽器
  4. 給我們一些反饋;-)
+0

對不起...我沒有提供足夠的信息。當你點擊「加載新的樣式表」按鈕時,它應該會觸發一個改變按鈕的Javascript(它會這樣做),並且加載一個新的樣式表,這個樣式表完全改變了網站的圖像和外觀(它沒有)。感謝您迄今爲止的所有迴應......非常有幫助。我認爲這與我的一個文件加載時間過長有關......我正在調查。再次感謝! – Evan

3

我也經歷這一點,並可能有一些洞察力。我在Mac OSX Lion上使用Chrome 13.0.782.112。

瀏覽器限制每個域可以爲外部文件創建的請求數量。如果您打開Chrome的開發人員工具並查看網絡選項卡,則可以看到爲.css文件提出的請求,並將其置於待處理狀態。仔細觀察,你會發現還有大約十幾個其他文件仍然試圖從同一個域加載。我的猜測是這些文件中的一個或多個非常大或者服務器沒有響應。這會導致瀏覽器不加載來自同一個域的其他文件。

UPDATE
的請求到該文件提出:http://www.evanjackson.net/music/track_1.m4a和許多其他的.m4a曲目,服務器沒有響應。由於.css文件位於同一個域中,Chrome正在等待這些.m4a文件首先加載。

看起來像某些版本的Chrome無法處理.m4a文件,直到它們完全加載。

+0

即使在單獨的選項卡中,我也無法加載他的css文件(使用chrome,firefox很好)。 Phrogz - 嘗試直接鏈接到該CSS文件(從等式中取出JavaScript)。出現某些其他原因,chrome似乎沒有加載該文件。在調試時,該文件的大小始終爲0,並且下載無限期地保留在待處理狀態。我同意tybro0103你一次加載大量資源,但我不認爲這是問題的根源。也許添加一個測試頁面,也可以將另一個文件加載到等式之外。 – Sam

+0

@Sam這是因爲您仍然在另一個選項卡中打開頁面。關閉另一個選項卡,並立即加載。 – tybro0103

+0

已確認 - 關閉原始鏈接,然後加載css文件會立即加載css文件。我認爲tybro0103有正確的答案。那些其他資源必須阻礙整個過程。 – Sam

相關問題