2012-09-27 147 views
1

所以我正在用一些html/css/javascript實驗來塗寫一個小網站,這樣我就可以學會成爲一個更好的網絡程序員。我真的是一個設計師,在這個總數n00b。jQuery/JavaScript不適用於所有頁面

問題:

我有我的網站多個頁面中運行一些JavaScript和他們是 - 按往常一樣 - 在一個單獨的.js文件。然而,它只是似乎是工作在此頁:

http://www.carlpapworth.com/htmlove/colors.html

,而不是這些:

http://www.carlpapworth.com/htmlove/arrows.html

http://www.carlpapworth.com/htmlove/fumbling.html

你看到,與心臟大飛濺suposed被此功能隱藏:

$(document).ready(function() { 
    $('#reward').hide(); 
    $('#goal a').click(function(){ 
     $('#reward').fadeIn(1000); 
    }); 
    $('.exit').click(function(){ 
     $('#collection1').css('color', '#ff63ff'); 
    }); 
}); 

對我來說,所有這些頁面中的「Head」代碼看起來完全一樣,所以我無法弄清楚問題所在。 請幫忙!

已解決!這是編碼,它被設置爲UTF-16!所以我只是把它改成了傑森托馬斯在科達所說的!太感謝了!

+2

控臺中的所有中文字符都是什麼? –

+0

我認爲這個問題可能與字符編碼/ BOM有關。 –

+0

是的,我注意到(中國人)也是最奇怪的! –

回答

1

這是一個有趣的問題。我試圖將您的網站複製到我的機器並在本地進行測試,並且一切正常。不過,我相信我發現了問題的根源。

http://validator.w3.org/i18n-checker/check?uri=www.carlpapworth.com%2Fhtmlove%2Ffumbling.html#validate-by-uri+

你試圖迫使UTF-8與您的meta標籤,<meta charset='UTF-8' />。但是,w3 i18n驗證程序檢測到您的文件還包含UTF-16LE Byte-Order Mark (BOM)

W3號有這樣一段對removing the BOM說:

如果你有這表明彌補你可以手工刪除它們 UTF-8簽名的文字編輯器。然而,機會是, ,因爲您沒有 看到它,所以BOM是在那裏。

檢查您的編輯器是否允許您指定在保存過程中是否添加或保留了UTF-8 簽名。這種編輯器通過簡單地讀取 中的文件再次將其保存出去,提供了一種刪除簽名的方式。例如,如果Dreamweaver檢測到物料清單, 另存爲對話框將在文本 「包括Unicode簽名(BOM)」旁邊顯示覆選標記。只需取消選中該框並保存即可。

我不確定它是否能解決您的問題,但我不喜歡在您的doctype聲明之前使用過HTML註釋。請將<!DOCTYPE html>移至文件頂部。另外,在Coda中,轉至Text > Encoding並驗證是否選擇了UTF-8。如果可以的話,展示不可見的角色並刪除看起來有嫌疑的任何東西。

+0

好吧,這是我的聯盟有點:)我使用科達然而,這是什麼「BOM」? –

+0

已更新的答案。 –

+0

仍然奇怪,它可以在一個頁面上工作,而不是其他,我會嘗試修復它。評論方面似乎是合理:) 解決!這是編碼,它被設置爲UTF-16!所以我只是把它改成了傑森托馬斯在科達所說的!太感謝了! –

1

正如Jezen Thomas所說,這可能是一個編碼問題。嘗試將文件重新保存爲UTF-8。

結帳this topic on SO for more details

+0

是不是說 \t 已經? –

+0

@CarlPapworth還有更多。檢查我的答案。 –

+0

.js文件本身需要正確編碼 - .html頁面按預期工作,但.js文件是您的問題。 – DACrosby

相關問題