Open 724493602 opened 1 year ago
不知道"world" = "MAIN"是什么,可否描述更清楚一些,比如给出报错的截图,或贴出相关的代码逻辑。
{ "js": ["dist/main.js"], "world": "MAIN" }, "world"= "MAIN"时,会在沙盒环境中运行,这是的脚本没有windows
是没有chrome.runtime,说错了
感谢您提出的问题,我知道原因了,我提供的插件暂时实现不了这个,短期内还改不了。
还没用过这个"world"= "MAIN"
, 想请教一下是用于什么场景的。我或许可以做个区分,如果有"world"= "MAIN"
,打包时对这个content_scripts做不同的处理。
获取当前的window 环境,我们有个场景是操作某个网站的编辑器,这个编辑器是挂载在window上,必须要 word=main 才能获取到。这时候这个content_scripts是不是就 IIFE 加载就好了
获取当前的window 环境,我们有个场景是操作某个网站的编辑器,这个编辑器是挂载在window上,必须要 word=main 才能获取到。这时候这个content_scripts是不是就 IIFE 加载就好了
这个场景不声明"word": "main", 在content_scripts里面注入一个injected.js应该也能达到目的吧? 如这个例子所示examples/crx-webAccessibleResources/content.js , 先看看是否可行
const script = document.createElement('script')
script.src = chrome.runtime.getURL('injected.ts')
;(document.head || document.documentElement).appendChild(script)
manifest 中 content_scripts 在"world" = "MAIN" 时 没有chrome.runtime对象,引发报错