2010-03-30 5 views
0

Je travaille sur un site CMS qui utilise la navigation dynamique. Il y a un lien sur le site que j'aimerais pouvoir ouvrir dans une nouvelle fenêtre. Cependant, comme il s'agit d'un environnement dynamique, je ne peux pas ajouter la norme target = "_ blank" au lien. alors comment puis-je ouvrir le lien dans une nouvelle fenêtre sans utiliser jquery?Lien d'ouverture dans une nouvelle fenêtre

+2

Vous allez avoir besoin de préciser ce que vous entendez par « navigation dynamique » et pourquoi vous empêche d'utiliser _blank – Sparr

+1

Je ne comprends pas entièrement ce que vous entendez par "environnement dynamique". Pouvez-vous utiliser Javascript du tout? Est-ce que ces liens ont des identifiants? Pourquoi JQuery est-il hors de question? –

+0

ce lien peut être un lien externe qui doit s'ouvrir dans une nouvelle fenêtre ou peut être un lien interne qui doit être ouvert dans la même fenêtre –

Répondre

0

$ ("# linkid"). Attr ("target", "_blank");

Ou pour cible par un style css $ («linkclass »)

+1

Voilà comment je le ferais aussi, mais il ne semble pas vouloir utiliser JQuery pour une raison quelconque. –

+0

Je pensais qu'il a dit avec; Oops... –

0

Vous pouvez faire un clic droit sur le lien et appuyez sur « Ouvrir dans une nouvelle fenêtre/onglet »

Sérieusement, vous ne devriez pas écraser le comportement par défaut du navigateur ni forcer l'utilisateur à ouvrir un lien dans une nouvelle fenêtre. Si l'utilisateur veut ouvrir le lien dans une nouvelle fenêtre, il sait déjà comment le faire (en sélectionnant l'entrée dans le menu contextuel, ou même en utilisant un geste de la souris). Mais ouvrir un lien dans la même fenêtre si le lien est "forcé" d'ouvrir dans une nouvelle fenêtre (avec target="_blank") est beaucoup plus difficile, surtout s'il y a javascript impliqué (je déteste vraiment les liens comme javascript:showDetails('12453563');)

0

Pour tous liens sur la page sans jQuery mais avec Javascript:

links=document.getElementsByTagName("a"); 
for(var i=0; i<links.length; i++) { 
    links[i].target="_blank"; 
} 

Pour tout le lien que vous voulez, si elle donne un identifiant unique:

link=document.getElementByID("link_id"); 
link.target="_blank"; 

Pour le lien que vous voulez sans ID fourni, si vous connaissez l'URL:

links=document.getElementsByTagName("a"); 
for(var i=0; i<links.length; i++) { 
    if(links[i].href = "http://the/url/you/are/targeting") { 
     links[i].target="_blank"; 
    } 
} 

Pour le lien que vous voulez avec aucune idée à condition, s'il y a une classe qui lui est associée:

links=document.getElementsByTagName("a"); 
for(var i=0; i<links.length; i++) { 
    if(links[i].className = "blankLinkClass") { 
     links[i].target="_blank"; 
    } 
} 
Questions connexes