2013-11-20 33 views
-3

我創建了一個ASP.Net應用程序。我正在使用一個寫在一個單獨的文件中的JavaScript。我在JavaScript文件中使用Var myvariableName ={}javascript中未定義的jscript

我已將此文件包含在MasterPage中並在我的aspx頁面中訪問myvariableName。

這是在谷歌瀏覽器工作正常,但是,在IE 8中未處理的異常被拋出

myvariableName is undefined.

the error shows as; 0x800a1391 - Microsoft JScript runtime error: 'Common' is undefined

,其中常見的是我的javascript變量。

請協助我解決此問題。

+0

請檢查呈現的HTML並查看調用範圍 –

+0

在查看源代碼中,我可以看到Js文件已加載。 –

+0

Var應該是var ...小寫字母,但我不認爲這實際上是您的問題,正如您所說的,它適用於Chrome。聽起來像是在IE8中阻止了你的JS。你有任何瀏覽器嗅探js或條件註釋,這可能是試圖執行代碼在IE中不能在Chrome中執行? – philwills

回答

2

由於缺少分號,您可能會收到此錯誤。將代碼更改爲:

var myvariableName = {}; 
+1

它仍然顯示相同的錯誤。 –

+1

我可以看到你已經更新了你的問題。你現在說「Common」是你的javascript變量。如果您在問題中包含更多代碼,這將會很有幫助。 –

6

您可能在執行外部腳本之前訪問該變量。

確保在文檔完全加載後立即訪問您的變量(例如,如果您使用jQuery,則爲$(document).ready(function(){...});),或嘗試用某種警報(即shouldn't be browser-depentent!)找出真正的執行順序。

2

在你的ASP頁面,在這裏您可以訪問您的自定義變量,包裝與您的代碼:

var myvariableName = {}; 

window.onload = function(){ 

    // your code here where you're accessing the variable 

}; 
4

如果你的代碼已經在document.load$(document).ready(function)你總是可以 處理變量通過

acessing前
if (typeof myvariableName !== "undefined") { 
    // do stuff 
} 

有些時候在IE狗屎的情況下發生並且window.load在異步調用到位時被特意擰緊。