並不十分複雜:
window.onload= function() {
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;
};
}
};
如果要對IE6 XMLHttpRequest的工作,如果這是你所關心的一切,你需要先定義此:
if (!window.XMLHttpRequest && 'ActiveXObject' in window) {
window.XMLHttpRequest= function() {
return new ActiveXObject('MSXML2.XMLHttp');
};
}
這真的有就是這樣。
但是,對於通用的網頁,你不應該這樣做;不在本地JavaScript中,也不在jQuery中。將內容添加到現有頁面中會破壞瀏覽器的導航功能,並將其替換爲空白。後退和前進按鈕現在不再工作。用戶不能爲他們喜歡的頁面添加書籤,或將鏈接發送給其他人。這是對幀最糟糕的可用性問題的重新發明,不應該在開放的網絡上完成,而不需要額外的工作來爲搜索引擎實現HTML5歷史導航和hashbang後備導航。
如果您發現jquery臃腫,請等待,看看您的「真實」javascript會是什麼樣,一旦適用於所有平臺上運行:) – pixeline 2011-06-14 19:21:32