如果您使用該網頁上的確切的代碼,這並不奇怪,因爲比如有使用是用單全局變量存儲了XMLHttpRequest。因此,它不能同時處理多個請求:第二次調用該函數會覆蓋req
,導致被ahahDone
讀取爲錯誤的請求。
如果你想允許這一點,你將不得不作出req
一個局部變量(由宣稱它var
在function ahah()
),並與target
傳遞到ahahDone()
功能。或者只是做內聯:
function Element_loadHTML(element, url) {
var req= null;
if (window.XMLHttpRequest) {
req= new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
req= new ActiveXObject('MSXML2.XMLHttpRequest');
} catch() {}
}
if (!req) {
element.innerHTML= 'Browser does not support XMLHttpRequest';
return;
}
element.innerHTML= 'Loading...';
req.onreadystatechange= function() {
if (req.readyState===4)
element.innerHTML= req.status===200? req.responseText : 'Error '+req.status;
};
req.open('GET', url);
req.send(null);
}
Element_loadHTML(document.getElementById('appdata'), 'appdata.part.html');
Element_loadHTML(document.getElementById('foo'), 'bar.part.html');
與瀏覽器嗅探並試圖執行腳本標籤的東西是絕望和破碎;不要使用它。將<script>
元素內容加載到頁面中是不好的做法。
PREFECT,我不知道爲什麼我以前沒有看到。謝謝!另外,我沒有使用腳本標籤執行部分。這真的只是一個壞主意。 – Matt 2010-02-20 19:57:45