Firefox经过设置就可以实现,另外找到一段代码可以在经过设置的IE6中实现,但不适用于IE8.
首先打开Firefox浏览器,在地址栏输入about:config,将signed.applets.codebase_principal_support的属性值设置为true;
然后调用如下Javascript代码:
<script language="javascript"> var url="E:\\"; function startWinrar(){ try{ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath('C:\\Program Files\\WinRAR\\WinRAR.exe'); var process=Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess); process.init(file); var arguments = [url]; process.run(false,arguments,arguments.length); }catch(e){ alert(e); } } </script> <input type="button" onclick="startWinrar();" value="执行">
IE6中可以使用如下代码:
function run(){ var objShell = new ActiveXObject("wscript.shell"); objShell.Run("file:///c:/1.txt"); objShell.Run("file:///c:/DHTML1.chm.lnk"); objShell.Run("notepad C:/WINDOWS/system32/drivers/etc/hosts"); objShell = null; }
注意path的写法,可以直接调用文件,任何快捷方式后面都要加上.lnk才起效果。
由于安全限制的原因,这个方法不一定会成功,所以最好加try…catch。
具体和哪个安全限制有关呢?
打开工具-》选项-》安全,首先把含有这个脚本的网页加入到本地站点
编辑自定义级别,将按将对没有标记为安全的ActiveX进行初始化。。设为启用就ok了。
wscript.shell还有一些很有用的方法
比如想自动把剪贴版上内容粘贴到焦点位置
只要objShell.SendKeys(“^v”);就可以了
九月 30th, 2010 at 8:13 上午 #电子门户
好好学习学习