Microsoft Edge Native Messaging - 预期的对象

时间:2017-12-06 14:43:14

标签: uwp microsoft-edge

我希望在Edge浏览器上使用本机消息传递权限创建Web扩展。使用Chrome和Firefox完成所有这些操作非常容易,但显然微软以自己的方式做事。我下载了SecureInput项目(https://github.com/MicrosoftEdge/MicrosoftEdge-Extensions-Demos/tree/master/SecureInput),几乎看起来它对每个人都有用,但对我来说。 注意:我对UWP有0次经验。

我已经关注了该项目的自述文件,但没有运气。

我能够成功部署NativeMessagingHostInProcess项目。是的,我确实确保在PasswordInputProtection \ Program.cs和Extension \ background.js中引用了NativeMessagingHostInProcess。我不知道这是多么神奇地起作用,但在部署后我确实看到我的Edge浏览器上安装了扩展程序。我只需要启用它。 我在localhost中有secureinput.html。我在整个过程中分散了日志记录消息,实际上,当我访问http://localhost/secureinput.html时,我看到了调用的扩展名。

这是失败的地方......在background.js(连接方法)中:

port = browser.runtime.connectNative(" NativeMessagingHostInProcessService");

上面的陈述引发了一个"对象预期"错误。

我正在运行Microsoft Edge 38.14393.1066.0,Microsoft EdgeHTML 14.14393。 我正在运行Visual Studio 2017。 NativeMessagingHostInProcess项目具有Target版本" Windows 10周年纪念版(10.0; Build 14393),最小版本" Windows 10(10.0; Build 10586)。

任何帮助?

1 个答案:

答案 0 :(得分:1)

示例的部署和调试步骤看起来正确。但是,此功能是与随播通用Windows平台(UWP)应用程序通信的本机消息传递,它随Windows 10 Creators Update一起提供。详情请参阅Native messaging in Microsoft Edge

看起来您的Windows 10版本是14393.请尝试将您的设备升级到Windows 10 Creators Update或更高版本,以确保本机消息传递能够正常运行。您还可以查看样本的target device family min version