Open Lukoning opened 1 month ago
试着改用CSS,目前一切正常……
我好像找到原因了 给innerHTML = `` 引号内代码加中文注释时BetterNCM崩溃 测试了一下,在引号外边加中文注释也会崩溃 应该是对中文的处理出了问题
服了啊 这样我咋加注释啊
诶诶 这是什么主题 好圆()
这几天有空回来看一下这个,不过修好了也建议用 esbuild 转译一次,startup_script.js是blocking的,应该尽量减小体积以免影响加载时间
如果有需要可以手动fetch文件然后eval执行
脚本的执行是写在manifest里的,正常情况下都建议通过manifest的inject(?应该是这个吧 记不清了)项注入 而不是startup_script
诶诶 这是什么主题 好圆()
背景图是自制的
这几天有空回来看一下这个,不过修好了也建议用 esbuild 转译一次,startup_script.js是blocking的,应该尽量减小体积以免影响加载时间
如果有需要可以手动fetch文件然后eval执行
脚本的执行是写在manifest里的,正常情况下都建议通过manifest的inject(?应该是这个吧 记不清了)项注入 而不是startup_script
感谢感谢 由于我的半吊子技术所以并不太懂这些
哦草 想起来了( 之前好像为了避免有人写插件偷密码 没给弹出式窗口注入(
可能还是得startup script
哦草 想起来了( 之前好像为了避免有人写插件偷密码 没给弹出式窗口注入(
哦哦哦🤣原来是这样
话说NCM的登录界面也是前端做的啊
fetch(BETTERNCM_PATH + '/somejs.js').then(v=>v.text()).then(eval)
然后在somejs.js里写
是这样
fetch(BETTERNCM_PATH + '/somejs.js').then(v=>v.text()).then(eval)
然后在somejs.js里写
好嘞
fetch(BETTERNCM_PATH + '/somejs.js').then(v=>v.text()).then(eval)
然后在somejs.js里写
(给翻到这个issue的人) 更正一下:
fetch(BETTERNCM_FILES_PATH + "/plugins_runtime/plugin name/main.js").then(v => v.text()).then(eval);
fetch(BETTERNCM_PATH + '/somejs.js').then(v=>v.text()).then(eval)
然后在somejs.js里写
(给翻到这个issue的人) 更正一下:
fetch(BETTERNCM_FILES_PATH + "/plugins_runtime/plugin name/main.js").then(v => v.text()).then(eval);
Bug 描述
执行插件的startup_script.js时崩溃
3765269347(UNKNOWN), Proc:1 -------- BetterNCM CrashReport ------- BackTrace:
C:\WINDOWS\System32\KERNELBASE.dll + 14A782(RaiseException) C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll + 7E96(CxxThrowException) C:\Program Files (x86)\NetEase\CloudMusic\MSIMG32.dll + 1B05(CxxThrowException) C:\Program Files (x86)\NetEase\CloudMusic\MSIMG32.dll + 15A6E(CxxThrowException) C:\Program Files (x86)\NetEase\CloudMusic\MSIMG32.dll + F20B(CxxThrowException) C:\Program Files (x86)\NetEase\CloudMusic\MSIMG32.dll + 1BDD5(CxxThrowException) C:\Program Files (x86)\NetEase\CloudMusic\MSIMG32.dll + 2F75A(TransparentBlt) C:\Program Files (x86)\NetEase\CloudMusic\MSIMG32.dll + 20FB5(TransparentBlt) C:\Program Files (x86)\NetEase\CloudMusic\MSIMG32.dll + 27958(TransparentBlt) C:\Program Files (x86)\NetEase\CloudMusic\MSIMG32.dll + 2B80E(TransparentBlt) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 1C550(cef_list_value_create) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 38B2B74(GetHandleVerifier) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 38B2A8A(GetHandleVerifier) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + FDD68F(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + FEE91C(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + ED01EE(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + EDDFAB(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + EE27E5(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + EF1BF5(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + EF12ED(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + F0D3B4(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + F0D361(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 9E90EE(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 9E9057(cef_string_multimap_size) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 25886D4(cef_string_utf16_to_upper) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2E468E7(GetHandleVerifier) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2FAE890(GetHandleVerifier) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2FACF1E(GetHandleVerifier) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2FACEE6(GetHandleVerifier) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 24666EA(cef_string_utf16_to_upper) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2DCF065(cef_time_delta) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2DCECF5(cef_time_delta) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 24917BB(cef_string_utf16_to_upper) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2491087(cef_string_utf16_to_upper) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2DCF739(cef_time_delta) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 244D592(cef_string_utf16_to_upper) C:\Program Files (x86)\NetEase\CloudMusic\libcef.dll + 2D74069(IsSandboxedProcess) C:\Program Files (x86)\NetEase\CloudMusic\cloudmusic.dll + CF16(TagLib::PropertyMap::unsupportedData) C:\Program Files (x86)\NetEase\CloudMusic\cloudmusic.dll + AD11(CloudMuiscMain) C:\Program Files (x86)\NetEase\CloudMusic\cloudmusic.exe + 1AAA(CloudMuiscMain) C:\Program Files (x86)\NetEase\CloudMusic\cloudmusic.exe + 2807(CloudMuiscMain) C:\Program Files (x86)\NetEase\CloudMusic\cloudmusic.exe + BFE4(CloudMuiscMain) C:\WINDOWS\System32\KERNEL32.DLL + 17BA9(BaseThreadInitThunk) C:\WINDOWS\SYSTEM32\ntdll.dll + 6C10B(RtlInitializeExceptionChain) C:\WINDOWS\SYSTEM32\ntdll.dll + 6C08F(RtlClearBits)
复现步骤
试着做一个能更改音效设置界面的插件 一开始代码是这样:(网易云音乐运行正常,音效界面的圆角设置也正常)
尝试注入简单的一行Hello World,也很正常
可是一注入长点的……(两百多行HTML代码,从原版音效界面中复制)
加注释确认并非插件代码本身导致的崩溃
后来又想是不是代码格式化的问题,把没有格式化的HTML代码原封不动写进去,问题依旧
期望行为
修复这个bug;或者用别的方式,在实现相同功能的同时绕开这个bug
顺带一提:似乎音效界面每插件仅加载了startup_script.js一个文件
屏幕截图
startup_script.js的属性(我有点怀疑是不是缓存超了)
BetterNCM 版本
1.3.3
网易云音乐版本
2.10.13
网易云音乐 Patch 版本
1:12f60b8
补充
No response