IE和Chrome带有多个参数的互相跳转
IE & Chrome的互相跳转:
简单需求,简单实现。从IE跳转到Chrome,介绍使用ActiveXObject进行操作跳转,并实现多个参数的传递;从Chrome跳转到IE,介绍使用修改注册表的形式进行操作。
IE to Chrome
在IE中打开Chrome方法简单且粗暴,talk is cheap, show me the code。
单参or无参
1 | var objShell = new ActiveXObject("WScript.Shell"); |

1 | var objShell = new ActiveXObject("WScript.Shell"); |

上述情况都没问题,一切都很顺利,下面来看看多参的情况。
多参传递
1 | // 如果要传 id=1, name=bruce 两个参数 |

什么鬼,我明明传了两个参数啊,怎么只显示了一个,只显示了第一个。What the hell is going on?
原来在cmd的世界里,它有自己的一套转义语法,可参考链接。
1 | var objShell = new ActiveXObject("WScript.Shell"); |

看完在IE中打开Chrome了,现在来瞅瞅在Chrome中打开IE的方法吧。
Chrome to IE
在Chrome中打开IE,并传多参数,相比IE中打开Chrome要麻烦一些,大致分为以下几个方面。
配置跳转环境
regOpenIE.reg
1.1 在D盘下新建openIE文件夹,路径为
D:\openIE\1.2 在openIE路径下新建
regOpenIE.reg,并将如下内容复制进该文件:
1 | Windows Registry Editor Version 5.00 |
其中文本中的最后一行D:\\alert\\openIE.bat\是当前文件的目录。
- 在openIE文件夹下新建
openIE.bat,并将如下内容复制进该文件:
1 | @echo off |
其中文本中start一行中C:\\Program Files\\internet explorer\\iexplore.exe是你电脑中IE的路径,注意分隔符是双反斜杠。
单参or无参
- 在布局中加入以下内容。
1 | <a href="openIE:www.baidu.com">Chrome to IE</a> |

1 | <a href="openIE:www.baidu.com?id=1">Chrome to IE</a> |

多参传递
1 | // 和测试IE跳转Chrome一样,传 id=1, name=bruce 两个参数,看下效果是不是能出来 |

同样的思维,是不是&又被转义或者影响到了呢,查阅资料,有博主给出了一个解决方案,使用无转义的字符去替代的方案(就是上面openIE.bat中第三行给出的内容)。
1 | <a href="openIE:www.baidu.com?id=1separatorname=bruce">Chrome to IE</a> |

使用参数中的separator代替&,完成解析。
写在最后
IE和Chrome的跳转可能还有其他方法,如果朋友找到更加简单的方法,请在下面回复告诉博主,感激不尽。
