4

我正在尝试使用 chromes favicon url 加载 url 的 favicon:

<img class='icon' src='chrome://favicon/yahoo.com' />

但我得到了错误:

"Not allowed to load local resource: chrome://favicon/yahoo.com"

在清单中我有:

  "permissions": [
    "chrome://favicon/"
],

网上没有太多关于这个话题的资料。有什么建议么?

4

3 回答 3

5

代码中的问题

  • "permissions": ["chrome://favicon/"], 是清单文件中的无效模式

如果您想favicon在扩展页面中使用标签的 URL,请使用 chrome.tabs API。

示范

清单.json

注册后台页面并添加必要的权限。

{
    "name": "Fav Icon",
    "description": "http://stackoverflow.com/questions/14800881/not-allowed-to-load-local-resource-chrome-favicon",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": [
            "background.js"
        ]
    },
    "permissions": [
        "tabs",
        "<all_urls>"
    ]
}

背景.js

chrome.tabs.query({
    "active": true,//fetch active tabs
    "currentWindow": true,//fetch tabs in current window
    "status": "complete",//fetch completely loaded windows
    "windowType": "normal"//fetch normal windows
}, function (tabs) {
    for (tab in tabs) {
        console.log(tabs[tab].favIconUrl);// Use this URL as needed
    }
});

chrome.tabs.query 将在扩展页面中工作,如果您想在内容脚本中使用,请使用消息传递来传达 URL。

参考

于 2013-02-12T06:18:09.843 回答
1

URL 也需要包含方案:

<img src="chrome://favicon/http://www.yahoo.com">
于 2013-02-10T18:13:59.223 回答
0

刚遇到这个问题,两者

"permissions": ["chrome://favicon/"]"permissions": ["chrome://favicon/*"]

按预期工作。

Chrome 版本 52.0.2743.116

于 2016-08-23T23:28:39.497 回答