有没有办法在 Chrome 扩展 (MV3) 中允许不安全的内联代码?

问题描述

我目前正在制作 chrome 扩展(在清单版本 3 中),并且我正在尝试允许内联事件处理程序。在我的 popup.html 中,我想在单击按钮时运行一个函数,如下所示:

HTML:

<button onclick="foo(this)">bar</button>

(单独的)JavaScript:

function foo(x){
    console.log(x);
}

运行扩展程序时出现以下错误:

拒绝执行内联事件处理程序,因为它违反了 遵循内容安全策略指令:“script-src 'self'”。 'unsafe-inline' 关键字、哈希值 ('sha256-...') 或随机数 ('nonce-...') 是启用内联执行所必需的。

我尝试向我的 JavaScript 文件添加内容安全策略和随机数(以允许内联执行工作),但也没有奏效:

"content_security_policy": {
    "extension_pages": "script-src 'self' 'nonce-baz'"
},

添加内容安全策略导致以下错误:

'content_security_policy.extension_pages':不安全的 CSP 值 指令'script-src'中的“'nonce-2726c7f26c'”。不能加载 清单。

所以我想知道如何允许执行内联代码。 (我看过这篇文章:Chrome Extension - Content Security Policy - executing inline code,但是,答案是使用清单版本 2,而我使用的是清单版本 3。)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)