Я пытаюсь вызвать window.open() внутри цикла x times (target = _blank) на основе некоторых критериев. Но он открывает новую вкладку только один раз. Я что-то делаю неправильно? Вот мой код
$('#spogo_' + _sp.spid).button()
.button('option',
{
label : 'Go to',
icons : {
primary : 'ui_icon_goto'
}
})
.on('click', function(){
var selRow = model._getSelectedRow($('#spt_' + this.id.split('spogo_')[1]).dataTable())[0];
for(var i = 0 ; i < selRow.cells.length ; i ++){
var cell = selRow.cells[i];
if($(cell).hasClass('vdata_cell')){
window.open($(cell).attr('data'), '_blank');
}
}
});
Я попытался отладить это и обнаружил, что if
происходит несколько раз, кстати, во время отладки ни один URL не был открыт.
EDIT: Aaahh извините, что всплывающее окно было заблокировано: D Но теперь один URL-адрес открывается внутри новой вкладки, другой в новом окне, как я могу это решить?
Вы можете указать только '_blank'
а затем браузер пользователей решит, находится ли он на новой вкладке или в новом окне, и вы не можете переопределить эту "функцию".
ctrl+click
ссылкам в новой вкладке.
Вы не можете решить эту проблему, это предпочтение пользователя в браузере, где они хотят, чтобы ссылка была открыта. Он также смущен с точки зрения удобства использования, чтобы заставить пользователей открывать ссылки в новом окне
Проверьте спецификацию для window.open. То, как вы его написали window.open(url, '_blank')
, создает одно окно с именем _blank
и каждый раз открывает URL-адрес в том же окне. Попробуйте изменить имя, добавив номер из счетчика или что-то в этом роде.
Что касается открытия вкладки или окна - это предпочтение в браузере, и вы не контролируете его.
window.open('http://www.cheese.com', '_blank')
и он открывает несколько вкладок.