" navigator.msLaunchUri"在IE Edge中总是会返回成功

时间:2016-04-07 10:17:48

标签: javascript internet-explorer protocols

" navigator.msLaunchUri"在IE Edge总是回归成功, " noHandlerCallback"没有执行 我试过这个:

2016-04-07 06:48:34,558 INFO: Error detected

它将永远回归"成功"如果协议不受支持,它将打开Windows商店对话框并返回"成功"

1 个答案:

答案 0 :(得分:0)

我已经看到Edge在这方面的行为与IE11不同。我不确定你遇到的问题是否完全相同,但这就是我所看到的。

如果您注册协议,请使用IE11启动它,然后取消注册,Edge会感到困惑。

简答:

确保在取消注册协议时,如果存在以下注册表项,则会完全删除它们:

HKEY_CURRENT_USER\Software\Classes\myprotocol
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\ProtocolExecute\myprotocol

长答案:

当您调用msLaunchUri时,IE11会查看上面的第一个键以确定协议是否已注册,但Edge会查看这两个键。

第一个是用于注册协议的密钥,第二个是IE11在您启动协议时创建的密钥。

因此,如果用户碰巧使用IE11启动协议,那么取消注册,Edge将会感到困惑。

为确保Edge不会混淆,请完全删除所有密钥。