我想在js中调用一个bat文件去清理IE的缓存,下边是代码:var wsh = new ActiveXObject("WScript.Shell");
var batName = "清除IE缓存.bat";
//获取当前文件的相对路径
var pathName =window.location.pathname.replace("Test.jsp","");
var batPath = pathName+batName;
//执行bat文件
A行 var result = wsh.run(batPath);
B行 //var result = wsh.run("E:/workspace/portal_local/TEST/清除IE缓存.bat");执行A行的时候,用的是相对路径,一直提示系统找不到指定的文件
换成B行,用绝对路径就可以大侠帮忙看看怎么解决啊 是不是run只能接受绝对路径啊,有没有可以用相对路径的方法?
或者是能取到当前项目的绝对路径也可以
谢谢了
var batName = "清除IE缓存.bat";
//获取当前文件的相对路径
var pathName =window.location.pathname.replace("Test.jsp","");
var batPath = pathName+batName;
//执行bat文件
A行 var result = wsh.run(batPath);
B行 //var result = wsh.run("E:/workspace/portal_local/TEST/清除IE缓存.bat");执行A行的时候,用的是相对路径,一直提示系统找不到指定的文件
换成B行,用绝对路径就可以大侠帮忙看看怎么解决啊 是不是run只能接受绝对路径啊,有没有可以用相对路径的方法?
或者是能取到当前项目的绝对路径也可以
谢谢了
解决方案 »
- var progress = new FileProgress(file, this.customSettings.upload_target);
- 求高手指教,万分感谢
- 关于jquery操作iframe的小问题
- 有人可以帮解决下js放大镜问题吗?谢谢啦
- 请问: 点击IE工具栏的返回按钮,让上一页自动刷新,代码是怎样的?
- Ext中函数作为变量绑定到另一个函数的问题
- 用JAVA如何实现作业的布置和提交?
- 弹出的窗口操作父窗口的列表框出错
- 功能非常棒的四舍五入函数有问题,请大侠们帮忙解决(改进函数或提供更好的函数都行)。。。
- 能否用innerHTML动态改变table的行数??
- jqgrid 可编辑列获取焦点
- 求助把js的变量添加到一个文本框里
弹框的话 点确定以后页面还是给关了吧 现在想要的效果是 点关闭时给个提示 如果确实是点错了 就不给关了
现在的模式是 给了提示后 不管怎么样 都给关了 这样不好
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript">
<!--
function run(){
var wsh = new ActiveXObject("WScript.Shell");
var batName = "a.bat";
// 获取当前文件的相对路径
//var pathName =window.location.pathname.replace("Test.jsp","");
//var batPath = pathName+batName;
var pathName = window.location;
alert("当前文件路径:"+pathName);
var fileName = pathName.toString().split("/")[pathName.toString().split("/").length-1];
alert("当前文件名:"+fileName);
var targetFile ="a.bat";
pathName = pathName.toString().replace(fileName,targetFile);
alert(pathName);
// 方式一:相对途径
var result = wsh.run(pathName);
// 方式二:绝对途径
//var result = wsh.run("c:/a.bat");
}
//-->
</script>
</head>
<body>
<input type="button" value="按钮" onclick="run()"/>
</body>
</html>
下面是a.bat的内容:
mspaint
运行截图如下:
截图一:截图二:截图三:截图四:最后一张截图:
我给楼主解释下,流程是这样的,服务器发布的网页,会缓存在客户端电脑上,
,而js读取的是html的物理地址,也就是说,他是相对于客户端来说。所有你服务器上发布一个带js的html网页,从
理论上来说,是可以操作客户端电脑的。这也就是,为什么一般的浏览器都会设置js的访问本地的权限。就是为了防止这种潜在威胁情况发生。
我想问一下,除了这种js,有没有别的方法可以执行客户端的bat。因为我要设置可信站点,所以上面说的那种方法不能使用。