Запретить встроенные подсказки в xul - PullRequest
1 голос
/ 01 февраля 2011

У меня есть приложение, которое загружает веб-страницу в браузере и сохраняет ее в пользовательскую локальную папку (изображения, HTML, CSS). При этом атрибуты изображений src (в html) и свойство background-url (в css) необходимо изменить, чтобы они отражали локально сохраненные файлы, а не исходные. Это генерирует дополнительный веб-трафик, так как их изменение заставляет браузер загружать файлы из измененных мест (браузер делает это, разрешая uri страницы со значением атрибута src элемента - то же самое для свойства background-url) в результате генерируется 404 запроса Not Found.

Я использую интерфейс nsIIOService, чтобы перейти в автономный режим перед сохранением страницы (страница полностью загружена и вся сетевая активность на данный момент остановлена), а затем снова в оперативном режиме после завершения сохранения. Но затем браузер отображает окно с предупреждением «Этот документ нельзя отобразить в автономном режиме. Чтобы перейти в онлайн, снимите флажок« Работать автономно »в меню« Файл ». всякий раз, когда я пытаюсь изменить вышеупомянутые атрибуты / свойства.

Есть ли способ предотвратить появление такого сообщения или заставить браузер не проверять изображения из-за измененных значений "src"?

Я пытался использовать DOMWillOpenModalDialog как в браузере, так и в окне приложения xul, но, похоже, это бесполезно - диалоговое окно по-прежнему появляется. Приложение не является приложением пользователя, поэтому сложно, когда появляются такие «встроенные» сообщения.

1 Ответ

0 голосов
/ 11 февраля 2012

Используйте предотвращение дефолта, чтобы остановить модальное диалоговое окно:

document.getElementById(‘content’).contentWindow.addEventListener(‘DOMWillOpenModalDialog’,function(e){ e.preventDefault(); }, true);

В качестве альтернативы попробуйте использовать disablePrivilege , песочница , переопределение службы подсказок или переопределение window.alert .

...