Javascript 由于内容安全策略,拒绝执行内联事件处理程序
我需要在这里更改什么,以便JavaScript代码与清单版本2和安全策略一起工作 屏幕截图:Javascript 由于内容安全策略,拒绝执行内联事件处理程序,javascript,google-chrome,google-chrome-extension,content-security-policy,Javascript,Google Chrome,Google Chrome Extension,Content Security Policy,我需要在这里更改什么,以便JavaScript代码与清单版本2和安全策略一起工作 屏幕截图: 代码: 内联事件处理程序定义必须按照addEventListener重写,并提取到popup.js,因此您应该在popup.html中删除onfocus=“this.select()”,并在popup.js中添加以下行: document.addEventListener('DOMContentLoaded', function () { document.getElementById('addr
代码:
内联事件处理程序定义必须按照
addEventListener
重写,并提取到popup.js
,因此您应该在popup.html
中删除onfocus=“this.select()”
,并在popup.js
中添加以下行:
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('address_box').addEventListener('onfocus', this.select);
});
确保您使用的是库的最新版本。我不认为您正在使用jQuery,但如果确实使用,请确保您使用的是支持CSP的最新版本。
当您更新到清单版本2时,扩展和库代码都需要支持CSP。我将HTML文件中的JavaScript代码放入自己的文件中,并将以下内容添加到清单文件中后,扩展和库代码就可以工作了:
"content_scripts": [ {"js": [ "popup.html" ], "matches": [ "http://*/" ]} ],
"permissions": [ "tabs" ]
您没有显示足够的源代码。查找内联事件处理程序(
onclick=“init()”
,例如),并将逻辑移动到外部脚本:
,document.getElementById('id-of-button')。addEventListener('click',init))代码>。有关CSP的更多信息,请参阅
"content_scripts": [ {"js": [ "popup.html" ], "matches": [ "http://*/" ]} ],
"permissions": [ "tabs" ]