MV3中能否用executeScript()注入外部脚本?下述代码可上架Chrome商店吗?
MV3扩展:executeScript注入外部脚本的合规性与上架问题
1. 能否在MV3中使用executeScript()注入外部脚本?
可以通过你提供的方式实现。Chrome MV3的chrome.scripting.executeScript()支持注入自定义函数,在注入的函数内通过创建<script>标签加载外部JS文件的方式,技术上是可行的,你提到未打包的扩展已能正常执行也验证了这一点。
2. 提供的代码在MV3中是否合规?
从技术规范角度是合规的:
这段代码没有使用MV3禁用的「直接注入字符串脚本」的方式,而是采用了官方允许的「函数注入」形式——通过func参数传入的函数动态创建脚本标签,符合Chrome官方对scripting.executeScript()的使用要求(官方明确该方法可用于注入静态文件或函数)。
不过需要注意,这种动态加载外部资源的行为,需要满足Chrome扩展的安全与政策要求。
3. 能否上架Chrome Web Store?
能否通过审核上架,核心不在于代码写法本身,而取决于外部脚本的内容和扩展整体是否符合Chrome Web Store的政策:
- 若外部脚本包含恶意代码、侵犯用户隐私、执行未经用户明确授权的操作,必然无法通过审核。
- 动态加载外部脚本属于高风险行为,Chrome会要求你确保外部脚本的来源可信、内容稳定且经过验证,避免扩展被第三方恶意篡改。
- 此外,扩展必须提供清晰的隐私政策,明确说明加载外部脚本的目的、涉及的数据处理(如有),否则也会影响审核结果。
参考资料
扩展开发者可以使用scripting.executeScript()方法注入静态文件或函数。
内容的提问来源于stack exchange,提问作者user20652129
相关产品推荐
相关产品推荐

