天天看點

IE6,7,8下關于 'JSON未定義' 的報錯問題

今天發現使用JSON.parse()在 IE6、7會報這樣的錯誤:'JSON未定義'。

查了一圈,JSON.stringify()/JSON.parse()在 IE6、7、8下都有相容問題.,現在記錄一下。

起因:

JSON是包含在JScript 5.8中,而為了向下相容ie8隻有在文檔模式是”Internet Explorer 8 Standards”的時候才使用JScripte 5.8,其他時候使用JScripte 5.7特性。是以如果文檔模式沒有聲明為”Internet Explorer 8 Standards”,ie8是找不到JSON對象的。因為沒有相容到ie6/7,是以必然在ie6/7中,JSON會出現未定義的問題。一般采用1,第2種方法沒實踐過

解決方法:

1.引入定義json的檔案json2.js,

下載下傳位址:https://github.com/douglascrockford/JSON-js

2.引入包含json的jquery檔案。

如果不用相容到ie6/7,隻需要聲明”Internet Explorer 8 Standards”模式,方法如下:

         - 在文檔頭中添加<meta http-equiv="X-UA-Compatible" content="IE=8" >

         - 使用<!DOCTYPE>來聲明文檔

原文來自:https://blog.csdn.net/weboof/article/details/53162343