2012-03-05 151 views
1

我有一個簡單的功能外部js文件。它們在aspx頁面中工作良好。當它們位於外部js文件中時,我在開發機器上發現該函數未定義的錯誤。在IE9中玩了兩天之後,我在FF中試了一下,它工作的很好。然後,它也在IE9中工作。我有第二個網站有同樣的問題。我再次檢查了它,並沒有在IE9中工作,然後在FF中檢查它,它工作,然後它繼續在IE9中工作。有什麼可能導致這種情況?外部js文件問題

+5

可能是您的緩存。 – AutoSponge 2012-03-05 22:31:39

+0

我該如何測試/修復該問題? – nlehman 2012-03-05 22:38:43

+0

@nlehman無論何時您對腳本進行更改,在頁面加載後至少一次點擊f5。您可以使用IE9的開發人員工具中的「網絡」選項卡來確保您獲得腳本的新版本(結果= 200)而不是緩存版本(結果= 304) – 2012-03-05 22:51:06

回答

0

最終這取決於文件是否通過<script>標籤正確包含在頁面中。如果一個瀏覽器可以解析錯誤的引用而另一個瀏覽器不能,我會感到驚訝,因爲最終確定文件路徑是否正確是服務器的工作。因此請檢查您的包含機制是否始終正確包含文件。例如,您可以使用Fiddler運行跟蹤,並在瀏覽器請求腳本時查看任何404錯誤。

另一種可能性是腳本本身被正確包含,但它包含Firefox接受的有效但IE9不支持的語法或引用。例如,對console的引用會在某些版本的IE中彈出,但在Chrome中可以正常工作。檢查您的腳本是否有效。

+0

但是,爲什麼它在IE之後?它看起來像是在我的開發機器中有些東西是腐敗的,並且在FF中測試後得到了無損。 – nlehman 2012-03-05 22:38:03

+0

你可能緩存?嘗試關閉所有緩存並查看是否有幫助。 – kprobst 2012-03-05 22:39:44

+0

我該如何在我的開發機上做到這一點? – nlehman 2012-03-05 22:41:44