Chrome 插件执行 eval 报错: Refused to evaluate a string as JavaScript
Chrome 插件执行 eval 报错: 'Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script...' 这个问题通常是由于插件的 Content Security Policy (CSP) 配置导致的。CSP 是一种安全机制,它限制了网页可以加载的资源和执行的脚本类型。
'unsafe-eval' 是一种 CSP 指令,它允许网页执行 eval() 函数,但该指令默认是禁用的。如果您的插件依赖于 eval() 函数,则需要在清单文件中添加 'unsafe-eval' 指令以允许其执行。
如何修改配置文件
您可以通过在 Chrome 插件的清单文件 (manifest.json) 中添加 'content_security_policy' 字段来修改配置文件。该字段用于指定插件的内容安全策略。
根据您的错误消息,可以尝试将 'content_security_policy' 字段设置为允许执行 eval 语句。例如:
"content_security_policy": "script-src 'self' 'unsafe-eval' 'wasm-unsafe-eval' 'inline-speculation-rules'; object-src 'self'"
上述配置允许插件在脚本中执行 eval 语句。请注意,这可能会增加插件的安全风险,请确保仅在可信任的环境中使用此配置。
完成后,重新加载插件,应该就可以执行 eval 语句了。
重要提示
使用 'unsafe-eval' 指令可能会增加插件的安全风险。请确保仅在您完全信任的代码中使用该指令。如果可能,请考虑使用其他方法来代替 eval() 函数。
原文地址: https://www.cveoy.top/t/topic/bajo 著作权归作者所有。请勿转载和采集!