2

我有一个超链接,我在其中调用一个函数 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 时,它会调用该函数,但在文件路径之后,所有“\”都被替换为空(“”),这就是它找不到正确文件路径的原因。请帮助。我尝试在其中给出“\”并且它会正确出现但我只想给出一个“\”。请帮忙

4

2 回答 2

6

您的 URL 未正确进行 URL 编码:

&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()

于 2013-10-29T06:09:21.030 回答
0

在指定in时有一个额外的双引号(",在指定URLin 时window.open()有一个额外的单引号(')。更正了那些。specswindow.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'")
于 2013-10-29T07:17:03.733 回答