使用window.open而不重置哈希?

时间:2015-07-08 16:57:35

标签: javascript

我有一个带有哈希参数集的窗口。

如果我然后执行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中演示这个有点困难,但希望上面的代码显示问题。

1 个答案:

答案 0 :(得分:2)

如果网址正在更改,则使用链接或正在浏览网页的按钮。取消点击操作,以便页面不会重定向。

$('#data-link').on('click', function(evt) {
    evt.preventDefault();
    window.open(encodedUri);
});