Internet Explorer (все версии), по-видимому, полностью игнорируют любые изменения, внесенные в DOM при использовании команды «Сохранить как», возвращая сохраненную версию в состояние веб-страницы при первой загрузке , Это влияет на приложения javascript, где вы пытаетесь сохранить моментальный снимок текущего состояния приложения.Сохранить весь сайт - Internet Explorer и код сгенерированный javascript
В этом следующем тривиальном примере при загрузке страницы появляется случайное число. Сохранение этой страницы в Firefox или Chrome приводит к тому, что этот номер является FIXED в результирующем сохраненном документе (поскольку в следующий раз, когда вы его открываете, диапазон .generateRandomNumber был удален и перезаписан, поэтому JS не выполняется).
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function($) {
if ($('.generateRandomNumber').length) {
var randomNumber = Math.round(Math.random() * 1000);
$('.generateRandomNumber').remove();
$('body').html(randomNumber);
}
});
</script>
</head>
<body>
<span class="generateRandomNumber"></span>
</body>
</html>
Вы также можете увидеть поведение, выполнив следующие действия из консоли IE:
var w = window.open();
w.document.body.innerHTML = "Hello world. Please save me";
Еще один простой пример должен был бы выполнить следующий скрипт на любой странице (от IE консоли разработчика). Запустите его, посмотрите, как HTML вытереть, сохраните его, откройте сохраненную версию и снова увидите исходный сайт.
document.body.innerHTML = "";
Сохраните этот новый документ, и текст исчезнет, когда вы его откроете.
Я рассмотрел следующие страницы, но теперь нашли какое-либо решение:
Save the document generated by javascript
Любая помощь будет оценена.
Хотя интересный вопрос, сохранение страниц с помощью Save As ... никоим образом, форма или форма, я не знаю, как стандартизован и не нужен вообще. Таким образом, вы, вероятно, просто не повезло, что вы ожидаете, что это будет работать последовательно в браузерах. – deceze
Любое предложение об обходном пути? Я думаю, что единственное обходное решение потребует сервера, и это приложение должно работать в автономном режиме. – captainclam