本地网页忽略IE安全限制,执行结果是
当前目录\复件新建HTML文档.htm,经过一次替换显示为,当前目录\data.exe。我想经过第二次替换把当前路径比如E:\Documents and Settings\我\桌面\test\data.exe中的“\”全部变成“\\”但是结果却只有左边第一个“\”被替换为“\\”,输出显示为E:\\Documents and Settings\我\桌面\test\data.exe
 脑袋被搞大了也没想明白,请懂改下代码和说明我的代码:
<html>
<head>
</head>
<BUTTON class=button onclick='var m=new ActiveXObject("WScript.Shell");thisURL=document.URL;tmpUPage=thisURL.split("/");thisUPage=tmpUPage[tmpUPage.length-1];thisUPage=thisUPage.replace("复件新建HTML文档.htm","data.exe");thisUPage=thisUPage.replace("\\","\\\\");alert(thisUPage);m.Run(thisUPage);'>测试</BUTTON>
</html>

解决方案 »

  1.   

    你自己先看看在替换前thisUPage是什么
      

  2.   

    得到 当前目录\data.exe var path=document.URL.split('/').slice(-1)+'';
    alert( path.replace(/[^\\]+$/,"data.exe") ) 
      

  3.   

    你的.replace("\\","\\\\");只能替换第一个发现的\,这是JS replace的缺陷全部替换必须用正则表达式如下.replace(/\\/g, "\\\\");
      

  4.   

    有一个在线压缩的。
    很方便。http://js.clicki.cc/
      

  5.   

    js中的replace是只能替换字符串中的第一个匹配项的, 你可参考下面的, 把replaceAll作为常备工具函数
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script type="text/javascript">
            String.prototype.replaceAll = function (s1, s2) {
                var r = new RegExp(s1.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g, "\\$1"), "ig");
                return this.replace(r, s2);
            }
            function test() {
                var oldStr = document.getElementById("txtOld").value;
                document.getElementById("txtNew").value = oldStr.replaceAll("\\","\\\\");
            }
        </script>
    </head>
    <body>
        <div id="" >
            旧字符串<input type="text" id="txtOld" value="E:\Documents and Settings\我\桌面\test\data.exe" style="width:500px;" /><br />
            新字符串<input type="text" id="txtNew" value=""  style="width:500px;" /><br />
            <input type="button" onclick="test()" value="全部替换" />
        </div>
    </body>
    </html>
      

  6.   

    JS replace 缺陷!懂了!感谢 jsgysyd和yenange,但是我只能把分给jsgysyd