从Chrome使用协议处理程序(ie:url)打开Internet Explorer

我已经按照这些步骤,它不能正常工作。 自定义协议处理程序在铬

基本上,我没有一个自定义的应用程序。 我只是想创build一个处理程序来打开IE与一个特定的URL。

这是我的reg:

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Classes\ie] "URL Protocol"="\"\"" @="\"URL:IE Protocol\"" [HKEY_CURRENT_USER\Software\Classes\ie\DefaultIcon] @="\"explorer.exe,1\"" [HKEY_CURRENT_USER\Software\Classes\ie\shell] [HKEY_CURRENT_USER\Software\Classes\ie\shell\open] [HKEY_CURRENT_USER\Software\Classes\ie\shell\open\command] @="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" \"%1\"" 

它的工作,但是…当我打开即:www.google.com从Chrome浏览器,它要求打开IE浏览器,但它保持“ie:”在打开的URL …生成一个无限循环。

我该如何解决这个问题?

谢谢

截图

Solutions Collecting From Web of "从Chrome使用协议处理程序(ie:url)打开Internet Explorer"

创建一个协议处理程序

保存这个脚本为internet-explorer-protocol-handler.reg

 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Classes\ie] "URL Protocol"="\"\"" @="\"URL:IE Protocol\"" [HKEY_CURRENT_USER\Software\Classes\ie\DefaultIcon] @="\"explorer.exe,1\"" [HKEY_CURRENT_USER\Software\Classes\ie\shell] [HKEY_CURRENT_USER\Software\Classes\ie\shell\open] [HKEY_CURRENT_USER\Software\Classes\ie\shell\open\command] @="cmd /k set myvar=%1 & call set myvar=%%myvar:ie:=%% & call \"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\" %%myvar%% & exit /B" 

然后运行脚本在您的注册表中安装密钥。 它看起来像这样:

注册处

现在使用ie:协议的链接将在Internet Explorer中打开。

 <a href="ie:https://www.google.com/">Google</a> 

演示页面

经过几次测试,我转向另一个策略。 我正在定位中间批处理脚本。 并批量分割协议和网址,并打开IE浏览器。

这是批处理:

 echo %1% set var=%1 set var=%var:~4,-1% Start "" "%ProgramFiles%\Internet Explorer\iexplore.exe" %var% 

如果你最后一行是注册表,注册表的实现将更通用

 @="cmd /C set myvar=%1 & call set myvar=%%myvar:ie:=%% & call start /separate iexplore %%myvar%% & exit" 

你不需要创建一个自定义脚本。

如果目标URL可以有多个查询参数,则可能会遇到只有第一个参数传递给IE的问题(请查看IE上的地址栏来验证)。 在这种情况下,您可以采取以下解决方法…只需创建一个新的HTML文件,并在编码后传递目标URL,然后在IE上打开此HTML。

 window.location = "ie:"+<URL to the above HTML>+"?path="+encodeURIComponent(<target URL>);