Google Chrome 扩展热门站点图片

Google Chrome Extension Top Sites Images

因此使用 Google Chrome 热门网站 api 具有 url 和标题的值,但是当您加载默认 google chrome 页面它也有这些网站的图像,有没有办法获得这种图像以进行扩展?如果不是,google 如何获得该图像以及如何获得用户浏览次数最多的网站的图像?

由于无法在不将页面加载到选项卡中的情况下获取页面的屏幕截图,因此 Chrome 只是在您浏览自己喜欢的网站时获取这些屏幕截图。你可以很容易地分辨出这一点,因为有时网站和图片不一致(例如,有时我的 facebook.com 顶级网站有我的个人资料页面的图片,但链接到主页)。

然后,如果您想要 Top Sites 的屏幕截图,则必须开始时不使用屏幕截图,并在用户浏览网络时创建它们,方法是使用 chrome.tabs API to check when a tab loads one of the Top Sites (listening to the event onUpdated), and get a screenshot of that tab using captureVisibleTab.

注意: 确保您已在清单中请求 "<all_urls>" 的权限,这是 captureVisibleTab 工作所必需的。此外,您可能会发现 this question 及其答案很有帮助。

很遗憾,这不可能*。 Chrome 将这些缩略图内部存储在无法从扩展程序访问的 URI 中。

有一个现有的功能请求:https://code.google.com/p/chromium/issues/detail?id=11854

如果您查看评论,主要用例之一是访问站点缩略图以复制新标签页。

如果您希望实现此功能,请为上面的功能请求加注星标以提高其优先级。


* 我的意思是无法访问 Chrome 自己的缩略图内部存储。

此外,正如 Marco 所建议的那样,复制方式是标签捕获,但出于隐私原因,您不能 "in the background" - 用户 must make an explicit gesture(例如单击扩展按钮、按快捷方式等)执行捕获。

Marco 的回答现在有效,captureVisibleTab 应该可以在事件发生时访问。但是,是的,截至目前 Chrome 强制您拥有非常广泛的权限并维护您自己的缩略图存储。