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的跳转可能还有其他方法,如果朋友找到更加简单的方法,请在下面回复告诉博主,感激不尽。