如何调用chrome扩展(Full Page Screen Capture)或360browser的屏幕截图

时间:2016-09-21 09:24:19

标签: javascript screenshot

我想将完整的网页保存为图片或pdf。

  • 我尝试使用html2canvas,但它不支持iframe元素。
  • 我尝试使用phantomjs但它在Windows Server 2003操作系统中不起作用。

我通常使用360浏览器的插件和谷歌Chrome的全页屏幕捕获。

如何使用JavaScript调用Chrome插件?

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用Full Page Screen Capture扩展名。

关于通过javascript调用此扩展程序: 据我所知, externally_connectable 是唯一可以通过网页(使用javascript)调用扩展程序或发送消息(可能包含数据)的官方方式here

如果扩展程序不支持 externally_connectable ,则需要编辑扩展程序并为要集成的每个域添加预定义值。

如果是这种情况,我们可以使用解决方法与任何网站集成(而不是定义任何域名)

如果您只是想通知另一方(扩展程序)有关某些事情,您可以使用原生 JS Event 从一侧(网页)调度文档并进行监听在文档在扩展内容脚本页面和网页之间共享时,也从另一侧(扩展名)到文档。

每次发送数据时都无法使用 JS CustomEvent 发送数据,因此 sandbox effect 会将结果视为空任何扩展名。

如果你想共享数据(可能是截图时滚动的限制)所以我​​目前唯一知道的解决方法是在某种存储和 JS native Event之间进行组合。 机制。

步骤中的解决方案(假设您需要调用网页并将某些数据发送到扩展程序):

  1. 通过网页在 document 上发布活动。

  2. 将数据临时保存在您喜欢的任何存储技术中 (localStorage,DOM本身,或者什么......)

  3. 通过聆听文档,编辑扩展名并添加事件监听器以在另一侧(分机)接收事件。
  4. 读取数据并将其删除。