IE里面为我们提供了一个ActiveXObject对象,而其他浏览器没有这个对象,也没有类似的对象,所以该方法只在IE浏览器中生效。
<script type="text/javascript"> function qq(){ //从Window下复制来的路径是 '\' 斜线,需改为'\\'或者'/' //路径前的file:\\\可有可无,建议加上 var qqPath="file:\\\D:/Program Files/Tencent/QQ/QQProtect/Bin/QQProtect.exe"; try{ var objShell = new ActiveXObject("wscript.shell"); //加上 \" 解决路径中含有空格的问题 objShell.Run("\""+qqPath); objShell = null; } catch (e){ var repart=alert('找不到文件。请查看路径是否正确!'); } } </script> <input type="button" value="打开QQ" onclick="qq();"/>
把这段看似没问题的代码发布到web服务器上的时候,你会惊异的发现——怎么我测试好的代码突然不管用了?
这样解决:打开IE浏览器的 工具-Internet选项-安全-可信站点-站点,把改网站地址添加到可信站点里面。