我一直在使用document.write()
來替換現有的html,其中一些由AJAX加載。
如果按正常負荷使用一次,它工作正常(正常我的意思是沒有AJAX),但如果使用超過一次,將其寫入無需更換現有的內容Document.write只覆蓋頁面一次
換句話說,第一時間document.write()
被稱爲在第1頁,第1頁將被覆蓋(如預期的那樣),但在下次調用時,新內容會追加至page1。爲什麼?
下面是一些代碼來重現我的問題:
全局JavaScript(在所有頁):
function loadXMLDoc(name) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.addEventListener("load", transferComplete, false);
xmlhttp.open("GET", name, true);
xmlhttp.send();
function transferComplete() {
document.write(xmlhttp.responseText);
history.replaceState(null, null, name);
}
}
第一頁:
<a href="#" onclick="loadXMLDoc('page2.html');">p1</a>
第二頁:
<a href="#" onclick="loadXMLDoc('page3.html');">p1</a>
第三頁:
<a href="#" onclick="loadXMLDoc('page1.html');">p1</a>
我們可以看到一些代碼嗎? – Rippo 2014-11-02 15:10:39
你最好使用'$(document).html(...);''document.write()' – 2014-11-02 15:11:22
你不應該使用'document.write'這樣的東西。或者對於任何類型的東西真的。 – YemSalat 2014-11-02 15:11:23