2012年12月9日 星期日

IE7 jquery遇json2.js無效時

XXX 為什麼 IE6 可以自動調用 parse,但在 IE8、FireFox  就是不行 ?????

原來 IE8 與 FireFox(11)已內建原生 JSON  程式,所以 jQuery 會直接調用原生的 JSON.parse,以致上面所述修改 json2.js 的功用皆失效,根本不會叫用 json2.js。

查看 json2.js  程式碼之 162 至 165 來

var JSON;
if (!JSON) {
    JSON = {};
}

即判斷如果已註冊 JSON 物件,則 json2 就不再註冊此功能,為了能使用上面針對日期物件修正的功能,只好把 163、165兩行註解掉,強制 jQuery 使用 jsons2.js 的 JSON 功能!

var JSON;
// if (!JSON) {
    JSON = {};
//}