105 votes

Ouvrir par programme des nouvelles pages sur les onglets

Je suis en train de « forcer » Safari ou IE7 pour ouvrir une nouvelle page à l’aide d’un nouvel onglet.

Par programme, je veux dire quelque chose comme :

121voto

Eineki Points 8632

Vous pouvez, dans Firefox, il fonctionne, ajoutez l'attribut target="_newtab" à l'ancre pour forcer l'ouverture d'un nouvel onglet.

<a href="some url" target="_newtab">content of the anchor</a>

En javascript, vous pouvez utiliser

window.open('page.html','_newtab');

Dit que, je suis partiellement d'accord avec Sam. Vous ne devriez pas forcer l'utilisateur à ouvrir une nouvelle page ou un nouvel onglet, sans les montrer un indice sur ce qui va se passer avant de cliquer sur le lien.

Laissez-moi savoir si cela fonctionne sur d'autres navigateur trop (je n'ai pas de chance de l'essayer sur un autre navigateur que Firefox pour le moment).

Edit: ajout d'une référence 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/

65voto

thenonhacker Points 1430

Vous ne pouvez directement contrôler cela, parce que c’est une option contrôlée par les utilisateurs d’Internet Explorer.

Ouverture des pages utilisant Window.open avec un nom différent fenêtre s’ouvrira dans une nouvelle fenêtre de navigateur comme un popup, OR ouvrir dans un nouvel onglet, si l’utilisateur a configuré le navigateur pour ce faire.

47voto

Bob Lindabury Points 371

Ceux de vous qui tentent d'utiliser les éléments suivants:

window.open('page.html', '_newtab');

devriez vraiment regarder à la fenêtre.méthode open.

Tout ce que vous faites est de dire au navigateur pour ouvrir une nouvelle fenêtre NOMMÉE "_newtab" et de la charge page.html en elle. Chaque nouvelle page, vous charger chargez-le dans la fenêtre. Toutefois, si un utilisateur dispose de son navigateur pour ouvrir une nouvelle page dans de nouveaux onglets au lieu de nouvelles fenêtres, il va ouvrir un onglet. Peu importe, c'est d'utiliser le même nom pour la fenêtre ou onglet.

Si vous voulez des pages différentes pour ouvrir dans différentes fenêtres ou onglets, vous aurez à changer le NOM de la nouvelle fenêtre/onglet à quelque chose de différent, comme:

window.open('page2.html', '_newtab2');

Bien sûr, le nom de la nouvelle fenêtre/onglet pourrait être n'importe quel nom comme page1, page2, page3, etc. au lieu de _newtab2.

14voto

Sam Meldrum Points 7405

C’est à l’utilisateur s’ils veulent utiliser les nouveaux onglets ou nouvelles fenêtres, il n’est pas l’activité du développeur pour modifier ce comportement. Je ne pense pas que vous pouvez le faire.

Bête noire de la mine - je déteste quand les sites me forcer à ouvrir dans une nouvelle fenêtre / onglet - je suis tout à fait capable de prendre cette décision pour moi. Surtout quand ils le font en javascript - c’est vraiment inutile.

9voto

Thurein Soe Points 125

Avez-vous déjà essayé comme

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X