Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№105-09-2015 03:17:30

Medison1
Участник
 
Группа: Members
Зарегистрирован: 05-09-2015
Сообщений: 11
UA: Firefox 40.0

Обновление содержимого HTML страницы

Добрый день.

Мне необходимо:
Открыть шаблон HTML страницы с локального компьютера (потому что это имхо просто легче чем генерировать страницу с нуля) и вставить в него данные.
Далее вывести диалог на сохранение страницы.

Вот так заполняем содержимое шаблона.

Выделить код

Код:

var TabOpen = gBrowser.addTab('Путь к файлу на локальном компьютере'); 
var Tab = gBrowser.getBrowserForTab(TabOpen);
Tab.addEventListener("load", function () {
var recipientHTML = Tab.contentDocument.body.innerHTML
// Тут работаем с recipientHTML как со String и меняем все что нужно.
Tab.contentDocument.body.innerHTML = recipientHTML; //Тут записываем новое содержимое страницы.
 }, true);

Вцелом все работает, текстовые переменные заменяются и сразу же отображаются в новых значениях.
Но есть проблема, на странице есть интерактивная карта и даже тогда когда я просто перезаписываю innerHTML (как есть) без изменений, карта визуально "замерзает" и с ней невозможно взаимодействовать.
У карты следующий код:

Выделить код

Код:

<link href=".files/vlmaps.css" type="text/css" rel="stylesheet">
<div id="map" class="map"></div>
<script>
    mapService.initMap('map', 15585, {zoom: 11,
                            center: [131.9, 43.1],
                            defaultCenter: [131.9, 43.1],
                places: [    [131.9, 43.1],    ]
    });
</script>

То есть если просто открыть страницу-шаблон (без изменения), то карту можно двигать, менять масштаб и т.д.. Однако, если перезалить в ней innerHTML, то карта как будто замирает на прошлых координатах. И не дает себя сдвигать или работать с ней.
Обновление страницы через f5 не помогает, карта не "оживает". Помогает только сохранить страницу на диск и открыть заново с диска, тогда карта работает.
Так же заметил, что Firefox после замены чего-нибудь в innerHTML и заливки нового содержимого, если просмотреть исходный код - выдает код старой страницы, а не новой (которая была залита как innerHTML).

Может быть кто-нибудь знает как решить эту проблему???

Не могу найти как приложить файл. Вот ссылка на файл vlmaps.css:

скрытый текст
http://www.cyberforum.ru/attachments/570238d1441410416

Отредактировано Medison1 (05-09-2015 05:33:46)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]