通过ie调用exe程序

最近开发项目的过程中,由于公司有很多套B/S系统,其中有一套系统用的extjs,用ie运行速度较慢,所以采用了google chrome浏览器运行这套系统,而其他的系统用的ie,所以碰到了一个问题,就是需要在ie浏览器中将google chrome浏览器调出来,研究了一天终于解决了这个问题,现在给大家分享一下。

       通过ie调用exe程序

公司所有的系统通过一个首页面进行访问,点击第三个图标,通过google chrome打开http://192.168.8.224:8008/project3,其余所有系统均通过ie打开。

 

方法如下:

       在第三个图标上加onclick事件,调用如下js方法。

function doCheck() {

       try {

              var file = "C:\\google\\chrome.exe";

          var fso = new ActiveXObject("Scripting.FileSystemObject");

          if(fso.FileExists(file)) {

                 var shellActiveXObject = new ActiveXObject("WScript.Shell");

                 if ( !shellActiveXObject ) {

                    alert('无法创建WScript.Shell');

                    return;

                 }

                 var exepath = "C:\\google\\chrome.exe http://192.168.8.224:8008/project3";

               shellActiveXObject.Run(exepath, 1, false);

               shellActiveXObject = null;

          }

          else {

                 alert("系统检测到未安装google浏览器, 请检查C:/google/chrome.exe是否下载!");

          }    

     }

     catch (errorObject)

     {

          alert("请将站点设置为可信任站点,并将其安全级别设置为低!");

     }

}

 

下面解释一下以上代码:

       首先,我们知道,用调用google chrome浏览器打开网页,必须保证系统中安装了google chrome,其次要知道系统中是否按照了chrome,必须允许web能够访问本地文件,而浏览器对于访问本地资源存在一个安全性问题,默认情况下ie是不允许访问Scripting.FileSystemObjectWScript.Shell,这时候我们就需要给ie设置权限,将首页面设置为可信任站点,并将其安全级别设置为低。设置方式如下图所示:

 

通过ie调用exe程序

这样我们的浏览器就能访问本地资源了~~呵呵,对于陌生的网站我们不建议这样设置,因为可能就被黑客利用了,直接操作你的电脑了,说不定就把你系统中的文件全部删除了,你还不知道呢~~O(_)O~

var file = "C:\\google\\chrome.exe";

var fso = new ActiveXObject("Scripting.FileSystemObject");

通过Scripting.FileSystemObject对象我们就可以访问C:\\google目录下是否有chrome.exe程序,然后给定一个地址下载~~最后,通过WScript.Shell就能打开chrome.exe程序了,呵呵,大功告成。