首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在chrome中获得书签图标?

如何在chrome中获得书签图标?
EN

Stack Overflow用户
提问于 2012-04-25 00:01:54
回答 3查看 3.1K关注 0票数 6

当我使用:

代码语言:javascript
运行
复制
<img src="chrome://favicon/http://www.google.com.hk"/>

在我的extension.It中得到了wrong.It警告的东西

“不允许加载本地资源:chrome://favicon/http://www.google.com.hk

我怎么才能修复它?

EN

回答 3

Stack Overflow用户

发布于 2012-04-25 11:17:25

仔细检查以确保添加了"chrome://favicon/" permission

这是一个"manifest_version" : 2扩展吗?我不熟悉它们,但它们可能要求您指定一个允许这样做的Content Security Policy

票数 5
EN

Stack Overflow用户

发布于 2014-10-15 10:09:13

我也遇到了同样的问题。我尝试了一下,发现chrome://favicon/只适用于扩展自己页面,如弹出窗口或您的扩展创建的选项卡。如果你从注入的内容脚本中将其加载到普通标签中,它将不起作用。

如果想要从注入的内容脚本加载favicon,有几种方法

  1. 第一个是使用对一些服务的请求来获取网页的收藏图标。举个例子:http://www.google.com/s2/favicons?domain=https://stackoverflow.com/这种方式工作得很好,除了内容脚本被注入到通过https加载的页面中。第二个原因是要从chrome:// Mixed Content blocking
  2. The /加载后台的favicon,然后转移到content script。

示例:此函数用于在后台脚本中运行

代码语言:javascript
运行
复制
function fetchFavicon(url) {
    return new Promise(function(resolve, reject) {
        var img = new Image();
        img.onload = function () {
            var canvas = document.createElement("canvas");
            canvas.width =this.width;
            canvas.height =this.height;

            var ctx = canvas.getContext("2d");
            ctx.drawImage(this, 0, 0);

            var dataURL = canvas.toDataURL("image/png");
            resolve(dataURL);
        };
        img.src = 'chrome://favicon/' + url;
    });
}

我在我的扩展中使用了这种方法,它工作得很好。请看一下Super Focus Tabs扩展。

票数 4
EN

Stack Overflow用户

发布于 2015-03-11 20:44:51

也有同样的问题,在google developers site上搜索后发现您需要在manifest.json中向chrome://favicon/添加权限。

然后只需转到chrome://extensions并按下reload来读取清单更改。

注意:尾部的斜杠很重要!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10301636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档