我有這樣的代碼:阿賈克斯只加載一次
window.onload= function() {
window.scrollTo(0, 0.9);
if (navigator.standalone) return;
for (var i= document.links.length; i-->0;) {
document.links[i].onclick= function() {
var req= new XMLHttpRequest();
req.onreadystatechange= function() {
if (this.readyState!==4) return;
document.body.innerHTML= this.responseText;
};
req.open('GET', this.href, true);
req.send();
return false;
};
}
};
它基本上獲取點擊和HREF到當前的身體負荷的一個的href。現在問題是它只能工作一次。一旦內容發生變化,只要我點擊另一個鏈接(在新的頁面上),它就會重定向並且URL會發生變化。然後,阿賈克斯再次工作,因爲我「真正」改變頁面並重置整個事情。
我有點迷失在這裏。我怎樣才能重置我的功能永遠工作? 謝謝,
克里斯托弗
編輯: 好了,所以我想是這樣的:
function ajax(){
if (navigator.standalone) return;
for (var i= document.links.length; i-->0;) {
document.links[i].onclick= function() {
var req= new XMLHttpRequest();
req.onreadystatechange= function() {
if (this.readyState!==4) return;
document.body.innerHTML= this.responseText;
};
req.open('GET', this.href, true);
req.send();
ajax();
return false;
};}
}
window.onload= function() {
window.scrollTo(0, 0.9);
ajax();
};
但無濟於事......調用當它完成了ajax()函數是不夠明顯。任何人都可以幫助我多一點:s。這不是我的專業領域:)。
我試過,但它不工作,你可以看看我的編輯,告訴我是什麼錯誤? :s – cmplieger 2011-06-14 22:03:06
在更新主體「innerHTML」之後,在「readystatechange」處理程序內添加對「ajax()」的調用,並查看是否有幫助。 – Pointy 2011-06-14 22:06:38
哦,還有,其他調用「ajax()」發送請求後,你可以擺脫這一點。 – Pointy 2011-06-14 22:07:14