这是我关于stackoverflow的第二个问题所以请原谅任何意外的新手。
我查看了建议的重复帖子 - How to pass special characters to javascript window.open in URL using paper.add method?
但该帖子不包含答案。
基本上我想要实现的是通过javascript打开文件链接(我的用户都是IE)。所述链接可以包含散列字符 - “#”。如果是这样,链接会在哈希标记处被切断(显然不起作用)。
通过对URI进行编码然后在同一窗口中打开它,我找到了解决方法。我的要求是在新标签中打开它。我无法弄清楚如何使用window.open()。
以下代码在同一窗口中打开文件。不好。
$(document).on("click", "#LANPath", function (e) {
var str = 'J:/Product Compliance/FACTs/+FACTS Test/Test_Attachment_Single_Premium_Group_App_Sample # Copy.pdf';
var url = encodeURIComponent(str);
var url2 = url.replace(/#/g, '%23');
window.location.href = 'file:///' + url2;
});
以下功能会切断#的网址并且不会打开任何内容。更糟糕的是。
$(document).on("click", "#LANPath", function (e) {
var str = 'J:/Product Compliance/FACTs/+FACTS Test/Test_Attachment_Single_Premium_Group_App_Sample # Copy.pdf';
var url = encodeURIComponent(str);
var url2 = url.replace(/#/g, '%23');
var win = window.open( 'file:///' + url2, '_blank');
win.focus();
});
非常感谢提前。
答案 0 :(得分:0)
我知道这是一个老问题,但无论如何我都会提交答案,因为我今天才发现同样的问题。
我能够使用Internet Explorer复制此行为,我设法通过以下两个步骤拆分操作来绕过它:打开新窗口然后浏览所需的URL。如问题背景:
var win = window.open();
win.location = 'file:///' + url2;
win.focus();