我有一个超链接,我正在调用一个函数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之后,所有“\”都被替换为空(“”),这就是为什么它找不到正确的文件路径。请帮助。我尝试在这里给出“\”并且它正确地进行但是我只想通过给出一个“\”。请帮忙
答案 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'")