我正在为Google Chrome编写扩展程序,将页面转换为PDF格式。
为此,我下载页面的DOM并将其传递给进一步将网页转换为PDF的软件。由于只传递了DOM,因此软件会下载各种其他资源,如CSS,图像等。
不允许软件访问安全资源,即位于以https://开头的URL。这些资源通过使用XMLHttpRequest单独下载到与JavaScript交互的(NPAPI)DLL中。
此方法适用于没有HTTPS框架的网页。为了扩展此功能以适用于HTTPS帧,我需要为每个嵌套帧下载它们的DOM,图像和CSS等。我该怎么做?
答案 0 :(得分:1)
如果您正在使用内容脚本来捕获DOM,那么就像将捕获代码注入所有帧一样简单:
chrome.tabs.executeScript(tabId,{code:code, allFrames:true });
然后让消息传递函数也传回window.location
并在所有帧上交叉引用src="..."
属性。