Ви не можете безпосередньо контролювати це, оскільки це варіант, який контролюють користувачі Internet Explorer.
Відкривання сторінок за допомогою Window.open з іншим іменем вікна відкриється в новому вікні браузера, як спливаюче вікно, АБО відкриється на новій вкладці, якщо користувач налаштував браузер для цього.
Редагувати:
Більш детальне пояснення:
1. У сучасних браузерах window.open відкриється на новій вкладці, а не на спливаючому вікні.
2. Ви можете змусити браузер використовувати нове вікно ("спливаюче вікно"), вказавши параметри в 3-му параметрі
3. Якщо виклик window.open не був частиною події, ініційованої користувачем, він відкриється в новому вікні.
4. "Подія, ініційована користувачем", не має однакового виклику функції, але вона повинна зароджуватися у функції, викликаної натисканням користувача
5. Якщо користувач ініціював подію, делегує або відкладає виклик функції (у слухача події або делегата, не пов'язаного з подією натискання, або, наприклад, використовуючи setTimeout), він втрачає статус "ініційований користувачем"
6. Деякі блокатори спливаючих вікон дозволять вікнам, відкритим з подій, ініційованих користувачем, але не тим, які відкриваються в іншому випадку.
7. Якщо будь-яке спливаюче вікно заблоковано, ті, які зазвичай дозволені блокатором (через події, ініційовані користувачем), іноді також будуть заблоковані. Деякі приклади ...
Примушуючи вікно відкриватися в новому екземплярі браузера замість нової вкладки:
window.open('page.php', '', 'width=1000');
Нижче описано подію, ініційовану користувачем, навіть якщо вона викликає іншу функцію:
function o(){
window.open('page.php');
}
$('button').addEvent('click', o);
Наведене нижче не визнається подією, ініційованою користувачем, оскільки setTimeout визначає його:
function g(){
setTimeout(o, 1);
}
function o(){
window.open('page.php');
}
$('button').addEvent('click', g);