我的内容脚本和我的测试回显扩展的后台脚本之间的通信基于browser.runtime.connect。我在github上发布了我的代码和扩展包。Microsoft Edge中的内容脚本和后台脚本之间的通信
此扩展的简短说明。您可以在this GitHub test page上运行扩展。内容脚本使用browser.runtime.connect连接到后台脚本,并通过发送消息browser.runtime.Port当单击“提交”按钮时的对象。后台脚本接收消息,将其转换为大写并发回。然后,内容脚本接收修改的消息并将其显示在页面上(收到的消息字段)。
当我将它添加到边缘时,此扩展可以正常使用加载扩展按钮,如Microsoft Edge文档中所述。因此,如果您打开测试页加载的扩展名,您应该看到“HELLO FROM BACKGROUND SCRIPT”文本中的收到消息字段。
但有如果本扩展从软件包安装 所以,你可以尝试一个奇怪的问题...延长不工作,直到我打开这个扩展的背景页面并重新加载测试页 ...重现:
- 从包装
- 打开测试页安装这个扩展。后台脚本无法正常工作(收到的消息字段为空),并且此脚本未收到已发送的消息...页面重新加载或关闭\扩展名不起作用。
- 打开后台页面这个扩展。那么这个页面可能会被关闭。
- 刷新测试页
- 扩展开始正常工作...
注:本次测试扩展是基于MDN(不好意思公布runtime.connect例子,但我可以不要插入两个以上的链接...)。
你能帮我解决这个问题吗?也许我错过了文档中的某些东西...
我也曾经遇到这个问题,对于appx包,后台页面不会加载,直到您手动检查它。鼓励在这里提出一个错误https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/ –
@HaibaraAi感谢您的评论。现在我知道其他开发者也有同样的问题。我四天前提出了这个错误https://developer.microsoft。com/en-us/microsoft-edge/platform/issues/12156180 /但我仍然没有收到回复......看来这个过程并不快。你能将这个错误标记为可重现的吗?我的意思是,你可以推**我吗?也许这将有助于加快这个错误报告处理... –
感谢提高错误!我upvoted:) –