我有一个应用程序在浏览器中加载网页并将其保存到自定义本地文件夹(images,html,css)。在此过程中,需要更改图像(在html中)和“background-url”属性(在css中)的“src”属性以反映本地保存的文件而不是原始文件。这会产生额外的网络流量,因为更改它们会强制浏览器从修改的位置下载文件(浏览器通过使用元素的“src”属性的值解析页面的uri来实现这一点 - 对于“background-url”属性也是如此)结果,它产生了大量404 Not Found请求。
我在保存页面之前使用nsIIOService接口脱机(页面已满载并且到目前为止所有网络活动已停止),然后在保存完成后重新联机。但随后浏览器会显示一个警告框“离线时无法显示此文档。要联机,请从”文件“菜单中取消选中”脱机工作“。每当我尝试更改上述属性/属性时。
是否有任何方法可以阻止此类消息出现或者由于修改后的“src”值而使浏览器无法验证图像?
我尝试在浏览器和xul应用程序窗口上使用DOMWillOpenModalDialog,但它似乎没用 - 对话框仍然出现。该应用程序不是用户应用程序,因此在出现此类“内置”消息时很困难。
答案 0 :(得分:0)
使用preventDefault停止模态对话框:
document.getElementById(‘content’).contentWindow.addEventListener(‘DOMWillOpenModalDialog’,function(e){ e.preventDefault(); }, true);
作为替代方案,请尝试使用disablePrivilege,sandbox,redefining the prompt service或overriding window.alert。