javascript - "\"符号在 Window.Open 中被替换为 ""

标签 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>

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

最佳答案

您的网址未正确编码:

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

关于javascript - "\"符号在 Window.Open 中被替换为 "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19650889/

相关文章:

javascript - 使用回调或 promise 使异步代码像 nodejs 中的同步一样工作

javascript - jQuery 换行没有容器的文本

javascript - Jest Mongo CI 测试

javascript - Knockout JS - 绑定(bind)到可观察的整数数组

javascript - TypeScript: TypeError: 无法读取未定义的属性 'push'

javascript - NodeJS Module.Exports 对象原型(prototype)问题

javascript - 'Currying'是什么?

javascript - 如何测试调度自定义事件的方法

javascript - 是否可以从右向左显示div的内容

javascript - 简单的 JavaScript 计算器