2012-06-13 43 views
0

在我使用過的幾臺服務器上,我的外部加載的資源很多(但不是全部)出錯並拋出(在Chrome中)「未捕獲的SyntaxError:意外的令牌非法」。在某些服務器上,許多外部資源(GA,fonts.com字體等)出現「Uncaught SyntaxError:Unexpected token ILLEGAL」錯誤?

從googleapis CDN包括jQuery可以正常工作,但加載fonts.com JavaScript字體文件並加載基本Google Analytics代碼時都出錯。

下面的代碼(也,這裏是一個fiddle如果有幫助):

<html> 
    <head> 
     <title>fonttest</title> 
     <script type="text/javascript" src="http://fast.fonts.com/jsapi/dd7c6b7d-1ecb-4ef4-bf65-c4759f97cbe3.js"></script> 
     <script type="text/javascript" src="http://www.google-analytics.com/ga.js"></script> 
    </head> 
    <body> 
     <h2>This is a test of the emergency broadcast system. This is only a test. If this had been an actual emergency, the tones you just heard would have been followed by official news or instructions.</h2> 
    </body> 
</html> 

從這些文件轉移爲text/javascript的標頭。

最後,當我在Web Inspector的Resources選項卡中查看資源時,我看到一些非羅馬字符而不是這些文件的實際代碼,所以這讓我認爲必須存在某種編碼問題。我嘗試在文檔頭中設置字符集utf-8iso-8859-1(使用meta charset),但都沒有幫助。

screenshot of chrome error

+0

您使用的是哪個版本的Chrome? DevTools最近修復了一些與資源有關的問題,因此更新到版本20或更高版本可能會有所幫助。只是爲了澄清:在20.0.1132.27(官方版本140692)測試版中,小提琴不會記錄任何錯誤並顯示正確的資源內容。 –

+0

我19歲(19.0.1084.56)。但是,我在Safari的web檢查器中看到了同樣的問題(即它將文件作爲一些非羅馬字符傳輸);唯一的區別是它沒有紅色的錯誤。 而且,小提琴也不會給我帶來任何麻煩;這就是爲什麼我確定這是一個與服務器相關的問題,而不僅僅是代碼問題。 我希望這有助於澄清。謝謝! –

+0

好吧,我也在Chrome Canary(21.0.1172.2)中對它進行了測試,並且發現了相同的錯誤。 –

回答

0

嗯,我想我已經解決了這個問題:我的主要HTML頁(不包含的腳本)有,在某些時候,變得編碼爲UTF-16。我改變了它的編碼(不是使用meta charset,而是使用我的代碼編輯器編輯文檔本身的編碼)返回到默認的西方(ISO拉丁文1),我認爲它與iso-8859-1相同。

我最好的猜測是,在某些時候,我將某些東西粘貼到具有UTF-16編碼的文件中,我的編輯器將文檔的編碼轉換爲UTF-16,然後網站假設它導入的外部資源也是UTF -16,這導致它誤解了它們。

我會離開這個問題&回答以防萬一有人遇到同樣的問題。

相關問題