我想将完整的网页保存为图片或pdf。
html2canvas
,但它不支持iframe
元素。 phantomjs
但它在Windows Server 2003操作系统中不起作用。 我通常使用360浏览器的插件和谷歌Chrome的全页屏幕捕获。
如何使用JavaScript调用Chrome插件?
答案 0 :(得分:1)
您可以使用Full Page Screen Capture扩展名。
关于通过javascript调用此扩展程序:
据我所知, externally_connectable
是唯一可以通过网页(使用javascript)调用扩展程序或发送消息(可能包含数据)的官方方式here
如果扩展程序不支持 externally_connectable
,则需要编辑扩展程序并为要集成的每个域添加预定义值。
如果是这种情况,我们可以使用解决方法与任何网站集成(而不是定义任何域名)
如果您只是想通知另一方(扩展程序)有关某些事情,您可以使用原生 JS Event
从一侧(网页)调度文档并进行监听在文档在扩展内容脚本页面和网页之间共享时,也从另一侧(扩展名)到文档。
每次发送数据时都无法使用 JS CustomEvent
发送数据,因此 sandbox effect
会将结果视为空任何扩展名。
如果你想共享数据(可能是截图时滚动的限制)所以我目前唯一知道的解决方法是在某种存储和 JS native Event
之间进行组合。 机制。
步骤中的解决方案(假设您需要调用网页并将某些数据发送到扩展程序):
通过网页在 document
上发布活动。
将数据临时保存在您喜欢的任何存储技术中 (localStorage,DOM本身,或者什么......)