2011-03-03 28 views
0

我正在建設一個PHP MVC網站,我包括幾個js文件.. 我遇到的問題是,如果我有例如一個js文件包含函數和所需的變量我不能使用它們在其他js文件(我使用document.ready()調用函數,我主要使用jQuery來進行ajax調用)。它工作正常,在Firefox,但IE拋出一​​個錯誤... 我包括使用HTML類的js文件:互聯網瀏覽器全球JavaScript文件

function includeJs($fileName) { 
    $data = '<script src="'.BASE_PATH.'/public/js/'.$fileName.'.js" type="text/javascript"></script>'; 
    return $data; 
} 

這是我得到的錯誤:

 
Webpage error details 
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; 
      SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; 
      Media Center PC 6.0; InfoPath.3; .NET CLR 1.1.4322) 
      Timestamp: Thu, 3 Mar 2011 11:53:33 UTC 

Message: Expected identifier Line: 26 Char: 21 Code: 0 
     URI: http://localhost/learning/public/js/general.js 
Message: Object expected Line: 5 Char: 3 Code: 0 
     URI: http://localhost/learning/public/js/tests.js 
+0

如何包含腳本,以及如何聲明變量/函數? – 2011-03-03 11:46:25

+0

你能提供更多的信息嗎?例如。顯示一些HTML,何時調用這些函數。負載? domready中?等等 – 2011-03-03 11:46:48

+0

**什麼**錯誤? – Quentin 2011-03-03 11:50:17

回答

0

這聽起來像你的js文件中有一個語法錯誤,它只是ie而不是firefox的問題。

通常,這種類型的錯誤是數組或對象中的尾隨逗號。

例如[1,2,3,]在firefox中有效,但不在ie中。爲了使這個有效的ie,你需要刪除尾隨逗號,所以它看起來像[1,2,3]

同樣的對象,所以如果你有{ foo: 1, bar: 2,}它會在ie中失敗,但在Firefox中不會。

0

你麻煩可能是JQuery!

如果您必須使用JQuery(最新的fab),那麼不要依賴谷歌託管一份副本,因爲IE8/9認爲谷歌它是一個什麼,跟蹤器和阻止.js文件,如果跟蹤保護打開。

真正的痛苦需要理清,因爲IE8/9可能需要一週的時間才能開始阻止來自Google的文件,這也適用於使用HTTPS來窺探人的新Google Plus按鈕,是的,我已經偷窺過谷歌.js知道我在說什麼。