我有一个带有哈希参数集的窗口。
如果我然后执行window.open
(我想允许用户download some data as CSV),它会重置当前窗口中的哈希:
window.location.hash = 'helloworld';
var csvContent = "data:text/csv;charset=utf-8,id,name\n3,james')";
var encodedUri = encodeURI(csvContent);
$('#data-link').on('click', function() {
window.open(encodedUri);
});
如何在不重置哈希值的情况下使用window.open
?
在jsfiddle中演示这个有点困难,但希望上面的代码显示问题。
答案 0 :(得分:2)
如果网址正在更改,则使用链接或正在浏览网页的按钮。取消点击操作,以便页面不会重定向。
$('#data-link').on('click', function(evt) {
evt.preventDefault();
window.open(encodedUri);
});