首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于Content-Security-Policy,拒绝执行内联事件处理程序

由于Content-Security-Policy,拒绝执行内联事件处理程序
EN

Stack Overflow用户
提问于 2012-07-26 19:39:54
回答 3查看 7.4K关注 0票数 4

我需要在这里进行哪些更改才能使JavaScript代码与清单版本2和安全策略一起工作?

截图:

代码:

代码语言:javascript
运行
复制
function init()
{
    chrome.tabs.getSelected(null, function(tab)
    {
        url = tab.url;
        if(url.indexOf('chrome://') == -1 && url.indexOf('about:blank') == -1){
            document.main.q.value = url;
        }
    });
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-18 21:46:03

在我将JavaScript代码从HTML文件放入自己的文件并将以下代码添加到清单文件后,我让它工作起来:

代码语言:javascript
运行
复制
"content_scripts": [ {"js": [ "popup.html" ], "matches": [ "http://*/" ]} ],
"permissions": [ "tabs" ]
票数 5
EN

Stack Overflow用户

发布于 2012-07-26 23:34:38

内联事件处理程序定义必须根据addEventListener重写并提取到popup.js中,因此您应该删除popup.html中的onfocus="this.select()",并在popup.js中添加以下行:

代码语言:javascript
运行
复制
document.addEventListener('DOMContentLoaded', function () {
  document.getElementById('address_box').addEventListener('onfocus', this.select);
});
票数 3
EN

Stack Overflow用户

发布于 2012-11-06 08:19:35

确保您使用的是最新版本的库。我不认为您正在使用jQuery,但如果您使用了,请确保您使用的是支持CSP的最新版本。http://bugs.jquery.com/ticket/11249

当您更新到清单版本2时,扩展和库代码都需要支持CSP。

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

https://stackoverflow.com/questions/11668469

复制
相关文章

相似问题

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