《前端》不同浏览器的链接跳转问题--在一个浏览器中,利用另一个浏览器打开指定的网址

关键技术:

ActiveXObjec

objShell.Run(“cmd.exe /c start chrome www.baidu.com”,0,true);

 

一、js脚本实现:在IE中,通过chrome打开指定网址。(仅限于IE浏览器,xp系统可能不行)

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>index</title>
    <script type="text/javascript">
        function test() {
            /*
            创建ActiveXObject实例,只在IE下有效,才可以创建
            */
            var objShell = new ActiveXObject("WScript.Shell");
            /*
            命令参数说明
            cmd.exe /c dir 是执行完dir命令后关闭命令窗口。
            cmd.exe /k dir 是执行完dir命令后不关闭命令窗口。
            cmd.exe /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。
            cmd.exe /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。
            这里的dir是start chrome www.baidu.com//用谷歌浏览器打开百度
            */
            objShell.Run("chrome www.baidu.com", 0, true);
            // objShell.Run("cmd.exe /c start chrome www.baidu.com",0,true);//这个也可以
        }
    </script>
</head>
<body>
    <div onclick="test()">点击,用chrome浏览器打开</div>
</body>
</html>

start C:/Users/chenzeyao/AppData/Roaming/360se6/Application/360se.exe \”http://www.baidu.com\”;

是打开360浏览器程序,并打开百度的网址。

 

二、如果打开的链接有&之类的dos特殊符号,需要特殊处理。

^是对特殊符号<,>,&的前导字符,在命令中他将以上  3  个符号的特殊功能去掉。

传入的连接改为 https://www.baidu.com/s?ie=utf-^&wd=chrome

<script type="text/javascript">
function test() {
    //创建ActiveXObject实例,只在IE下有效,才可以创建
    var objShell= new ActiveXObject("WScript.Shell");
    objShell.Run("cmd.exe /c start chrome https://www.baidu.com/s?ie=utf-8^&wd=chrome",0,true);
}
</script>
<div onclick="test()">点击,用chrome浏览器打开</div>

补充1:cmd 下指定某个浏览器打开某个html文件

cmd是打开Windows系统的cmd命令行。

1、想使用chrome打开当前路径下的index.html文件,可以输入如下命令:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" index.html

命令解释:

  • "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"这个是谷歌浏览器(chrome)的绝对路径,因为路径中间有空格,最好用括号包裹起来。

  • index.html这个是html文件的相对路径。

2、创建批处理脚本chrome.bat来打开html文件
创建chrome.bat文件,在其中写入:

@echo off
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %1

命令解释:

  • @echo off不显示正在运行的命令。

  • “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”谷歌浏览器路径,以你的为准

  • %1这个表示第一个命令行参数,也就是文件名

  • 然后现在只需要输入chrome.bat index.html就可以完成上述功能了,甚至.bat也可以省略,只需要输入chrome index.html即可。

3、chrome.bat配置到path环境变量中

为了在所有的目录下都可以使用chrome.bat来打来html文件,还需要把chrome.bat的绝对路径配置到path环境变量中。

4、cmd 用文件资源管理器打开一个目录

这个使用文件资源管理器+目录地址就可以打开了,例如我想打开E:\workspace\XunFeiTTS\这个目录,就只需要在cmd中输入如下命令即可:

explorer.exe "E:\workspace\XunFeiTTS\"

还有就是如果路径中有空格,需要用双引号把路径包裹起来.
 

补充2:JS中使用WScript.Shell对象执行.bat文件和cmd命令

WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript.shell是服务器系统会用到的一种组件。shell 就是“壳”的意思,这个对象可以执行操作系统外壳常用的操作,比如运行程序、读写注册表、环境变量等。这个对象通常被用在VB或VBS编程中。

  安装WScript.Shell对象:regsvr32 WShom.Ocx

  卸载WScript.Shell对象:regsvr32 -u WShom.Ocx 或者 regsvr32 /u WShom.Ocx

For Example:

  1. 建立test.bat文件,存于D:根目录下,作用是将*txt文件拷贝到d:/test目录下。

    md test
    copy d:/*.txt d:/test
    pause

2. 创建WScript.Shell对象,由该对象直接运行test.dat文件。

    var objShell;

    objShell=new ActiveXObject("WScript.Shell");

    var iReturnCode=objShell.Run("c:/test.bat",0,true);

  3. 创建WScript.Shell对象,由该对象直接运行CMD命令。(前面的一、二使用的就是这个方法)

    var objShell

    var objShell= new ActiveXObject("WScript.Shell")

    var iReturnCode=objShell.Run("cmd.exe /c md test",0,true)

    iReturnCode=objShell.Run("cmd.exe /c copy d:/*.text mytest",0,true)

—————————————————————————————————————–

知识链接:

一个完善的ActiveX Web控件教程 – DoubleLi – 博客园  https://www.cnblogs.com/lidabo/p/3582493.html

WScript.Shell对象的 run()和exec()函数使用详解 – swek – 博客园  https://www.cnblogs.com/swek/articles/4337999.html

javascript — > 使用run函数,让100条ajax依次执行_JavaScript_栗子好好吃的博客-CSDN博客  https://blog.csdn.net/piano9425/article/details/90771902

js 执行CMD 命令的方法_JavaScript_顾传龙-CSDN博客  https://blog.csdn.net/guchuanlong/article/details/28269165

如何用IE打开Chrome浏览器 – 蒲公英C – 博客园  https://www.cnblogs.com/leiyongbo/p/10309044.html

dos命令特殊符号_运维_Quincylk的专栏-CSDN博客  https://blog.csdn.net/quincylk/article/details/8315548

 

    原文作者:bellediao
    原文地址: https://blog.csdn.net/bellediao/article/details/104679538
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞