Chrome扩展程序:从弹出窗口运行内容脚本

时间:2018-08-02 19:00:51

标签: javascript google-chrome-extension content-script

在我的Chrome扩展程序中,我有一个带有按钮的弹出窗口。单击按钮后,我想使用内容脚本来更改选项卡的图标。

我试图在popup.html中使用chrome.tabs.sendMessage,在content.js中使用chrome.runtime.onMessage.addListener,但似乎无法正常工作。

popup.html

<html>
    <head>
        <script type = "text/javascript" src = "content.js"></script>
        <link rel = "stylesheet" type = "text/css" href = "popup.css">
    </head>
    <body>
        <div id = "buttonArea">
            <button class = "button" id = "redButton" title = "redButtonTitle" 
             onclick = "chrome.tabs.sendMessage(tab.id, {color:'red'}, function(response) {
            });"></button>
    </body>
</html>

content.js

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse)
{
if (request.color == "red")
    {
        var link = document.querySelector("link[rel*='shortcut icon']") || document.createElement("link");
        link.type = "image/x-icon";
        link.rel = "shortcut icon";
        link.href = chrome.runtime.getURL("img/red-circle-16.png");
    }
})

控制台显示此错误:

拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“ script-src'self'blob:文件系统:chrome-extension-resource:”。要启用内联执行,需要使用'unsafe-inline'关键字,哈希('sha256 -...')或随机数('nonce -...')。

0 个答案:

没有答案