Vous ne pouvez pas contrôler cela directement, car c'est une option contrôlée par les utilisateurs d'Internet Explorer.
Ouvrir des pages à l'aide de Window.open avec un nom de fenêtre différent s'ouvrira dans une nouvelle fenêtre de navigateur comme une fenêtre contextuelle, OU s'ouvrira dans un nouvel onglet, si l'utilisateur a configuré le navigateur pour le faire.
ÉDITER:
Une explication plus détaillée:
1. Dans les navigateurs modernes, window.open s'ouvrira dans un nouvel onglet plutôt que dans une fenêtre contextuelle.
2. Vous pouvez forcer un navigateur à utiliser une nouvelle fenêtre ('popup') en spécifiant des options dans le 3ème paramètre
3. Si l'appel window.open ne faisait pas partie d'un événement initié par l'utilisateur, il s'ouvrira dans une nouvelle fenêtre.
4. Un «événement initié par l'utilisateur» n'a pas le même appel de fonction - mais il doit provenir de la fonction appelée par un clic utilisateur
5. Si un événement initié par l'utilisateur délègue ou diffère un appel de fonction (dans un écouteur d'événement ou un délégué non lié à l'événement de clic, ou en utilisant setTimeout par exemple), il perd son statut «initié par l'utilisateur».
6. Certains bloqueurs de popup autoriseront les fenêtres ouvertes à partir d'événements déclenchés par l'utilisateur, mais pas ceux ouverts autrement.
7. Si une fenêtre contextuelle est bloquée, celles normalement autorisées par un bloqueur (via des événements déclenchés par l'utilisateur) seront parfois également bloquées. Quelques exemples…
Forcer une fenêtre à s'ouvrir dans une nouvelle instance de navigateur, au lieu d'un nouvel onglet:
window.open('page.php', '', 'width=1000');
Ce qui suit serait considéré comme un événement déclenché par l'utilisateur, même s'il appelle une autre fonction:
function o(){
window.open('page.php');
}
$('button').addEvent('click', o);
Ce qui suit ne serait pas considéré comme un événement déclenché par l'utilisateur, car setTimeout le reporte:
function g(){
setTimeout(o, 1);
}
function o(){
window.open('page.php');
}
$('button').addEvent('click', g);