“\”符号在Window.Open中替换为“”

时间:2013-10-29 06:05:07

标签: javascript

我有一个超链接,我正在调用一个函数Openlink,这是一个

function OpenLink()
{
    window.open("http://192.168.1.21/Sample/download.asp?Filename=Sample.html&Filepath=E:\Sample\Folder\PRINTSCREEN\"","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=no,width=400,height=100,top=10,left=200'")
}

<a href='#' onclick="OpenLink()"><font color=BLUE><b>FileName</b></font></a>

当我点击HyperLink时,它会调用该函数,但在Filepath之后,所有“\”都被替换为空(“”),这就是为什么它找不到正确的文件路径。请帮助。我尝试在这里给出“\”并且它正确地进行但是我只想通过给出一个“\”。请帮忙

2 个答案:

答案 0 :(得分:6)

您的网址未正确进行网址编码:

&Filepath=E:\Sample\Folder\PRINTSCREEN

应该是:

&Filepath=E%3A%5CSample%5CFolder%5CPRINTSCREEN

您可以使用此代码应用正确的转义:

var url = 'http://192.168.1.21/Sample/download.asp?Filename=Sample.html&Filepath=' +
    encodeURIComponent('E:\\Sample\\Folder\\PRINTSCREEN'),
options = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=no,width=400,height=100,top=10,left=200';

window.open(url, '', options);

正如您所看到的,JavaScript字符串中的反斜杠必须使用另一个反斜杠进行转义;但是,在URL中,它们只需要进行编码。

另请参阅:encodeURIComponent()

答案 1 :(得分:0)

在指定"中的URL和额外的单引号(window.open()时,您还有一个额外的双引号(' )在specs中指定window.open()。纠正了这些。

使用以下内容:

window.open("http://192.168.1.21/Sample/download.asp?Filename=Sample.html&Filepath=E:/Sample/Folder/PRINTSCREEN","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=no,width=400,height=100,top=10,left=200'")