我正在尝试为我的本机应用程序创建一个 Safari Web 扩展。我想要一个带有按钮的弹出窗口,单击该按钮将与我的本机应用程序进行通信。在我开始这部分之前,我在发送本机消息并在beginRequest
符合NSExtensionRequestHandling
协议的类的函数中处理它时遇到问题。我没有做太多,因为我依赖于 Xcode 生成的代码。
在manifest.json
我添加了nativeMessaging
这样的权限:
"permissions": [ "nativeMessaging" ]
popup.js
其中包含事件侦听器:
console.log("Hello World!", browser);
document.addEventListener('DOMContentLoaded', function() {
var checkPageButton = document.getElementById('clickIt');
checkPageButton.addEventListener('click', function() {
console.log("click")
browser.runtime.sendNativeMessage({ message: "Hello" });
}, false)
}, false)
当我检查弹出元素时,我可以看到Hello World
和click
消息,但正如我之前提到的 -beginRequest
没有被调用。有什么遗漏吗?我还观看了 WWDC20 的Meet Safari Web Extensions
会议,但没有找到答案。