0
我正在使用內部自定義庫來複制jsonp調用。在你們問我使用JQuery或其他庫之前,讓我告訴我由於某些限制而無法使用它。JavaScript腳本動態腳本加載IE6問題
下面是用來做請求的代碼:
BurrpJsonAjaxRequest.prototype.send = function() {
this.script = document.createElement("script");
this.script.type = "text/javascript";
this.script.charset = "UTF-8";
this.script.src = this.URL;
if (typeof(this.callBack) == "function") {
this.script.callback = this.callBack;
}
var currRequest = this;
//sleep(100);
if (this.script.src.readyState) { //IE
this.script.src.onreadystatechange = function() {
if (this.script.src.readyState == "loaded" ||
this.script.src.readyState == "complete") {
this.script.src.onreadystatechange = null;
currRequest.hideLoading();
currRequest.callback();
}
};
} else { //Others
this.script.src.onload = function() {
currRequest.hideLoading();
currRequest.callback();
};
}
this.docHead.appendChild(this.script);
};
這工作是第一次執行。在後續執行中,請求已完成,但回調未執行。
如果我使用如下的睡眠方法(在代碼中註釋),則回調也會在隨後的調用中執行。
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i milliseconds){
break;
}
}
}
睡眠如何影響回撥的執行?在Firefox中運行良好。
我使用這個作爲一個對象,我每次使用它時都會實例化對象。此外,它在Firefox中工作得非常好。唯一的問題是IE6。 – Abhi 2010-02-12 18:23:53
睡眠有一個影響的事實表明一個時間問題(顯然)。你是否嗅探過從IE6到服務器的流量並將其與FF流量進行比較? – Upperstage 2010-02-12 18:43:34
我正在使用Fiddler並嘗試查看請求響應。無論哪種情況(有睡眠和無睡眠),都會發送請求並收到響應,但萬一沒有睡眠提琴手會告訴我會話被中止。這是什麼意思? IE正在中止會話? – Abhi 2010-02-15 08:42:40