2014-01-20 41 views
0

我已經減少了問題的梗概:http://fiddle.jshell.net/ZuV7J/IE10不使用的jsfiddle無法解析JSON正確

這正確分析在Firefox和Chrome簡單的JSON字符串,而是返回一個空的對象(無論是JSON的字符串使用)在IE8,IE9和IE10中。我還沒有嘗試IE11。

無論是否加載Crockford的JSON2.js庫,都會發生這種情況。

+0

會發生什麼事,如果你做的局部變量,即使用'變種事件...'呢?另外,哪個表達式確切地產生一個空對象?你是說'alert(event.var)'打印一個空對象嗎?這是不太可能的。 –

+0

它在IE9和10的開發人員工具的控制檯中工作,但你是對的,當頁面加載在該小提琴上時,它顯示未定義。 – incutonez

+0

在開發者控制檯中,它僅顯示{}給我!只用IE11進行測試,得到了相同的結果。 –

回答

3

在Internet Explorer window.event

使用變量名「事件」表示事件的狀態,如發生事件的元素,鍵盤鍵的狀態,鼠標的位置以及鼠標按鈕的狀態。

它不能被分配給。

如果沒有var,您的代碼event = JSON.parse('{"var":"value"}');會嘗試將其分配給window.event,這是不允許的。

更改爲使用不同的變量名或前綴事件使用var所以你的代碼讀取:var event=JSON.parse('{"var":"value"}');

http://fiddle.jshell.net/ZuV7J/1/

0

簡短的回答:不要沒有使用var聲明局部:-)它