J'essaye de "forcer" Safari ou IE7 à ouvrir une nouvelle page en utilisant un nouvel onglet .
Par programme, je veux dire quelque chose comme:
window.open('page.html','newtaborsomething');
javascript
internet-explorer-7
safari
tabs
Ricardo Vega
la source
la source
Réponses:
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.
la source
Vous pouvez, dans Firefox ça marche, ajouter l'attribut target = "_ newtab" à l'ancre pour forcer l'ouverture d'un nouvel onglet.
En javascript, vous pouvez utiliser
Dit cela, je suis partiellement d'accord avec Sam. Vous ne devez pas forcer l'utilisateur à ouvrir de nouvelles pages ou un nouvel onglet sans lui montrer un indice sur ce qui va se passer avant de cliquer sur le lien.
Faites-moi savoir si cela fonctionne également sur un autre navigateur (je n'ai pas la chance de l'essayer sur un autre navigateur que Firefox pour le moment).
Edit: référence ajoutée pour ie7 Peut-être que ce lien peut être utile
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
la source
Ceux d'entre vous qui essaient d'utiliser ce qui suit:
devrait vraiment regarder la méthode window.open.
Tout ce que vous faites est de dire au navigateur d'ouvrir une nouvelle fenêtre NOMMÉE "_newtab" et d'y charger page.html. Chaque nouvelle page que vous chargez se chargera dans cette fenêtre. Cependant, si un utilisateur a configuré son navigateur pour ouvrir de nouvelles pages dans de nouveaux onglets au lieu de nouvelles fenêtres, il ouvrira un onglet. Quoi qu'il en soit, il utilise le même nom pour la fenêtre ou l'onglet.
Si vous voulez que différentes pages s'ouvrent dans différentes fenêtres ou onglets, vous devrez changer le NOM de la nouvelle fenêtre / onglet en quelque chose de différent tel que:
Bien sûr, le nom de la nouvelle fenêtre / onglet peut être n'importe quel nom comme page1, page2, page3, etc. au lieu de _newtab2.
la source
C'est à l'utilisateur s'il souhaite utiliser de nouveaux onglets ou de nouvelles fenêtres, ce n'est pas au développeur de modifier ce comportement. Je ne pense pas que vous puissiez le faire.
Ma bête noire - je déteste quand les sites me forcent à ouvrir dans une nouvelle fenêtre / onglet - je suis tout à fait capable de prendre cette décision par moi-même. Surtout quand ils le font en javascript - ce n'est vraiment pas utile.
la source
Avez-vous déjà essayé comme
la source
J'ai découvert dans Chrome,
ne fonctionnera qu'une seule fois.
Vous pouvez utiliser:
Pour ouvrir plusieurs nouveaux onglets.
la source
Le code que j'utilise avec jQuery:
Ceci est utile pour faire la distinction entre les événements de clic d'un parent dans un enfant. En utilisant cette méthode, vous ne déclenchez pas l'événement de clic du parent.
la source
<a href="page.html" target="_blank">foo</a>
Cela fonctionne à 100%
window.open('http://www.google.com/','_newtab' + Date.now());
la source
Si vous le vouliez, vous pourriez utiliser cette méthode, qui est un peu piratée, mais qui offrirait la fonctionnalité souhaitée:
la source
Cela peut fonctionner si vous pouvez appeler un fichier batch (j'utilise php avec XP sp2 et IE8 ... vous pouvez essayer IE7, je ne sais pas). Utilisez ce qui suit (ou similaire) dans votre fichier .bat pour ouvrir Windows: Démarrez "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com". Il n'y a pas d'espace entre les guillemets et C: \ Progr ... etc. À un certain moment, cela peut commencer à ouvrir de nouvelles fenêtres (c'est-à-dire, target = "_ blank") plutôt que de nouveaux onglets, mais cela fonctionne jusqu'à un certain point; pas largement testé. Pour l'utiliser dans un fichier de commandes standard (CMD.exe), vous devez probablement avoir une fenêtre déjà ouverte. Je partage simplement quelque chose sur lequel je suis tombé par hasard. MODIFIÉ pour clarification.
la source
Fonctionne dans IE7.
Cordialement,
Glenn
la source