在我的Chrome扩展程序中,我有一个带有按钮的弹出窗口。单击按钮后,我想使用内容脚本来更改选项卡的图标。
我试图在popup.html中使用chrome.tabs.sendMessage
,在content.js中使用chrome.runtime.onMessage.addListener
,但似乎无法正常工作。
<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>
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 -...')。