Я использовал document.write()
, чтобы заменить существующий html некоторыми загруженными AJAX.
Если используется один раз в нормальной нагрузке она отлично работает (по нормали я имею в виду без AJAX), но если используется более чем один раз, он пишет без замены существующего контентаDocument.write только перезаписывает страницу один раз
Другими словами, первый раз document.write()
вызывается page1 , страница 1 перезаписывается (как предполагалось), но в следующий раз, когда она вызывается, новое содержимое: добавлено на стр. 1. Зачем?
Вот код, чтобы воспроизвести мой вопрос:
Глобальный 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);
}
}
Page один:
<a href="#" onclick="loadXMLDoc('page2.html');">p1</a>
Page два:
<a href="#" onclick="loadXMLDoc('page3.html');">p1</a>
Page три:
<a href="#" onclick="loadXMLDoc('page1.html');">p1</a>
Можем ли мы увидеть код, пожалуйста? – Rippo
Вам лучше использовать '$ (document) .html (...);' than 'document.write()' –
Вы не должны использовать 'document.write' для подобных вещей. Или для любого материала. – YemSalat