ÉDITER:
J'ai appris qu'en utilisant une valeur autre que _blank
, NE FONCTIONNE PAS sur les navigateurs mobiles pour ouvrir de nouvelles fenêtres / onglets.
Par exemple, si vous devez ouvrir une nouvelle fenêtre / onglet:
Cela fonctionne sur tous les navigateurs, même les navigateurs mobiles:
target="_blank"
.Cela ne fonctionne pas sur les navigateurs mobiles, mais il fonctionne sur les navigateurs de bureau:
target="new"
.
-
Bien que celui-ci fonctionne, je ne suis pas sûr qu'il y ait une meilleure façon de le faire, ou si la façon dont je l'ai obtenue est la bonne / seule façon.
Fondamentalement, ce que je fais est de remplacer toutes les valeurs d'attribut target="_new"
ou , de cette façon, une seule nouvelle fenêtre est ouverte et toutes les autres nouvelles fenêtres s'ouvriront afin de ne pas submerger l'utilisateur avec plusieurs fenêtres.target="_blank"
target="nw"
J'ajoute également un attribut " Ouvre dans une nouvelle fenêtre " title=""
.
Donc, la solution que j'ai créée est celle-ci:
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
Notez les deux .attr();
méthodes.
Est-ce la bonne façon d'ajouter deux attributs à un élément?
J'ai essayé .attr('target','nw','title','Opens in a new window')
mais ça n'a pas marché.
La raison pour laquelle je pose la question est à cause du principe DYR (Don't Repeat Yourself), donc si je peux améliorer le code que j'ai, tant mieux, sinon, c'est ce que c'est.
Merci.
.attr('a,b','value')
cela ne fonctionne pas. Je me suis installé .attr('a',1).attr('b',1)
aussi. Être moins dépendant des nouvelles fenêtres pourrait être une autre approche, dans votre cas, cependant, @ricardozea: P