По крайней мере, в Firefox (47,0) решение:
var newDoc = document.open("text/html", "replace");
newDoc.write(response);
newDoc.close();
не работает как предложено, так как нажатие кнопки «Назад» на Firefox по-прежнему загружает предыдущую запись в истории - то есть весь смысл использования «замены» состоит в том, чтобы пользователи не нажимали кнопку «Назад» только для того, чтобы их приветствовал вид страницы. перед последним вызовом document.write (). Способ сделать это, не вызывая вышеупомянутый эффект, - это просто вызвать методы непосредственно для объекта документа:
document.open("text/html", "replace");
document.write(response);
document.close();
Использование параметра замены не только позволяет избежать заполнения истории пользователей мусором, но также помогает решать проблемы, возникающие из-за странных способов, с помощью которых браузеры часто обрабатывают записи истории, созданные javascript, что иногда позволяет браузеру регистрироваться в журнале. Изменения, внесенные в документ с помощью javascript в истории, могут привести к неожиданным результатам при обработке операций «назад / вперед» (например, добавление «wyciwyg: // (somenumber)» к URL-адресу после выполнения document.write () в документе, который имел его история возвращается в прежнее состояние).