Open endereyewxy opened 4 weeks ago
请问一定要用 onMessageExternal 的处理逻辑吗?如果不是,那可以试试这样:
VApi.p({ H: /* kFgReq.key */ 19, k: "<mapped_key>", l: 0, e: null })
来执行特定键<mapped_key>
====
或者直接定位到 Vimium C 后台进程(MV2 是 html,Manifest V3 以后会是 service worker),调用 define.run_commands.executeExternalCmd(...)
我了解到,第三方插件能够通过
chrome.runtime.sendMessage
(#236) 来执行 Vimium-C 命令。然而,Vimium-C 目前只实现了onMessageExternal
事件。这意味着只有来自其它插件的消息会被处理,而来自 Vimium-C 本身的消息却会被忽略。如果能够同时实现
onMessage
事件,就可以解决这个问题。这应该不会对 Vimium-C 的安全性产生影响。P.S. 我的目标是通过 Chrome DevTools Protocol 操作 Vimium-C。鉴于 CDP 拥有远程执行 JavaScript 的能力,目前,可以通过在任意第三方扩展的上下文中执行
chrome.runtime.sendMessage
来实现这一目标,但如果这个 issue 能被实现,将会更加方便。