Javascript &引用\&引用;符号被替换为“&引用;在窗户里,打开

Javascript &引用\&引用;符号被替换为“&引用;在窗户里,打开,javascript,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,

我有一个超链接,在这里我调用一个函数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>
函数OpenLink() { 窗口打开(“http://192.168.1.21/Sample/download.asp?Filename=Sample.html&Filepath=E:\示例\文件夹\打印屏幕\“”,“”,“工具栏=0,位置=0,目录=0,状态=0,菜单栏=0,滚动条=是,可调整大小=否,宽度=400,高度=100,顶部=10,左侧=200') }
当我点击超链接时,它会调用函数,但在文件路径之后,所有的“\”都被替换为空(“”)。这就是为什么它找不到正确的文件路径。请帮助。我尝试在这里输入“\”,但输入正确,但我只想输入一个“\”。请帮助您的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中,它们只需要编码


另请参见:

window.open()
中指定
URL
时,您有一个额外的双引号(
,在
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'")

反斜杠(\)是Javascript中的转义字符。这意味着当Javascript遇到反斜杠时,它会尝试转义字符。为了解决这个问题,你需要逃避它。这意味着\\将输出一个反斜杠(\\\将输出两个,依此类推)。我尝试用“%5C”转义反斜杠“\”,但发送的请求仍然被完全忽略。这在firefox和chrome中发生过。。。不确定其他浏览器。