lisonge / vite-plugin-monkey

A vite plugin server and build your.user.js for userscript engine like Tampermonkey, Violentmonkey, Greasemonkey, ScriptCat
MIT License
1.31k stars 70 forks source link

无法正确注入css #104

Closed andywang425 closed 1 year ago

andywang425 commented 1 year ago

当脚本的@run-atdocument-startdocument.head可能为null。我的环境是Windows 10,Chrome 116.0.5845.141,Tampermonkey v4.19.0。当我在Tampermonkey的设置->实验里把注入模式改成及时之后,用ctrl+F5刷新页面就能稳定复现这个bug。有些用户跟我反馈说他们在注入模式是默认的时候也会出这个问题。

日志: image image

我试着把开头那段注入css的代码改成GM_addStyle注入,不报错而且css能被正确注入。 image

修改后的代码: image

日志(后面的cssLoader还是报错了): image image

我感觉把改为使用GM_addStyle注入css似乎可行,不知道作者有什么好的解决办法?

下面是我刚刚查资料时找到的一些链接,希望能有帮助。

其它项目里一些相关的issue: https://github.com/violentmonkey/violentmonkey/issues/1292 https://github.com/greasemonkey/greasemonkey/issues/2515

Bilibili-Evolved这个脚本会等head出现后再执行其它逻辑: https://github.com/the1812/Bilibili-Evolved/blob/c14a2332244f88f8c749305b7279601f21833456/src/client/init.ts#L26-L29

lisonge commented 1 year ago

released in v3.5.0

https://github.com/lisonge/vite-plugin-monkey/blob/149267849d61c8ce7b50c0163ea6183a3ed1ee6a/packages/vite-plugin-monkey/src/node/types.ts#L303-L331

https://github.com/lisonge/vite-plugin-monkey/blob/149267849d61c8ce7b50c0163ea6183a3ed1ee6a/packages/vite-plugin-monkey/src/node/plugins/externalLoader.ts#L4-L25

andywang425 commented 1 year ago

感谢修复