【发布时间】:2014-04-09 07:18:58
【问题描述】:
我需要在 chrome 打包的应用程序中获取当前的 html。我知道Taking screenshot using javascript for chrome extensions,但是当我尝试这个时,chrome 声明打包的应用程序不允许使用“tab”权限。
有什么方法可以可靠地抓取当前页面?
【问题讨论】:
标签: javascript google-chrome screenshot google-chrome-app
我需要在 chrome 打包的应用程序中获取当前的 html。我知道Taking screenshot using javascript for chrome extensions,但是当我尝试这个时,chrome 声明打包的应用程序不允许使用“tab”权限。
有什么方法可以可靠地抓取当前页面?
【问题讨论】:
标签: javascript google-chrome screenshot google-chrome-app
您无法使用打包的 Chrome 应用程序执行您想要执行的操作。相反,您可能应该考虑制作一个扩展程序,因为如果您想与当前页面进行交互,那将是一种方式。
如果您不确定,这里有一个资源可以帮助您准确确定应该选择什么:https://developer.chrome.com/webstore/choosing
【讨论】:
不是来自 chrome 扩展,因为它们是以浏览器为中心的解决方案(不是以网页为中心的)。
Niklas Von Hurtzen 创建了一个非常有用的名为 html2canvas 的 js 扩展,它基本上可以满足您的需求,而不是作为 chrome 扩展。你可以看到它here。
“渲染”后,插件将通过遍历您交给扩展的任何内容的 DOM 树来创建画布元素。从那里开始很简单...yourRenderedCanvasElement.toDataUrl() 将返回一个 data: 该画布元素的 URL 表示,默认情况下是 PNG,为您提供“屏幕截图”。
编辑:哈,我现在看到你在另一个答案的消息线程中引用了这个确切的东西......
【讨论】:
document.open() is not available in packaged apps :(