[心得] chrome XMLHttpRequest 重寫問題解決
之前做一個網頁用到一個別人做的範例做ajax 那時還沒出chrome
if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) {
function XMLHttpRequest() {
var arrSignatures = ["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"];
for (var i=0; i < arrSignatures.length; i++) {
try {
var oRequest = new ActiveXObject(arrSignatures[i]);
return oRequest;
} catch (oError) {
//ignore
}
}
throw new Error("MSXML is not installed on your system.");
}
}
後來卻發現 chrome 無法執行
檢查發現 chrome 會搶先重寫 XMLHttpRequest() 函式
將 function XMLHttpRequest() {}
改為 window.XMLHttpRequest = function() {}
就行了 每家瀏覽器實作還真不一樣...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.2.212
推
03/14 01:09, , 1F
03/14 01:09, 1F
→
03/15 21:11, , 2F
03/15 21:11, 2F
→
03/15 21:12, , 3F
03/15 21:12, 3F
→
03/15 21:12, , 4F
03/15 21:12, 4F
→
03/15 21:45, , 5F
03/15 21:45, 5F
→
03/16 10:51, , 6F
03/16 10:51, 6F
→
03/16 10:52, , 7F
03/16 10:52, 7F
推
03/18 14:15, , 8F
03/18 14:15, 8F
→
03/18 14:17, , 9F
03/18 14:17, 9F
→
03/18 14:17, , 10F
03/18 14:17, 10F
→
03/18 14:18, , 11F
03/18 14:18, 11F
→
03/18 14:19, , 12F
03/18 14:19, 12F
→
03/18 14:20, , 13F
03/18 14:20, 13F
→
03/18 14:20, , 14F
03/18 14:20, 14F
→
03/18 14:21, , 15F
03/18 14:21, 15F