2015-07-08 2 views
1

У меня есть окно с набором параметров хеша.Использовать window.open без сброса хэша?

Если я после этого делать 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

Почему закрыт голос? Как это не о программировании в JavaScript? – Richard

ответ

2

Если URL-адрес меняется, вы используете ссылку или кнопку, которая перемещает страницу. Отмените действие click, чтобы страница не перенаправлялась.

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

Duh - большое спасибо! – Richard

Смежные вопросы