blog actif depuis 774 jours.

retours d'expériences, codes sources, réflexions, humeurs... d'un webmaster

 

Mar.

26

Janv.

 


Comme vous le savez peut-être, wymeditor est un éditeur XHTML strict écrit en jQuery. Et comme vous le savez très certainement, le XHTML strict n'accepte pas l'attribut target des liens.
Alors comment faire pour ouvrir une page externe sur un lien XHTML strict ? Et bien tout simplement en associant une action javascript sur l'évenement click (en jQuery). Et si on ne veut pas ouvrir une nouvelle fenêtre sur tous les liens, il faut ajouter (par exemple) l'attribut "class=external" pour identifier les liens externes.


Dans cet exemple, on va modifier la fenêtre d'ajout de lien et y mettre une case à cocher "lien externe".
La fenêtre passera donc de cette forme :

A celle ci :


Pour cela, on va modifier le fichier source du plugin wymeditor : jquery.wymeditor.js, notamment la méthode WYMeditor.INIT_DIALOG, et ajouter les lignes suivantes :
pour modifier l'aspect de la fenêtre dialogLinkHtml et ajouter le checkbox lien externe :
+ "<div class='row'>
+ "<label>{External}</label>"
+ "<input type='checkbox' class='wym_external' />
+ "</div>"

pour prendre en compte le checkbox lors de la validation :
if (jQuery(wym._options.externalSelector).is(":checked")) 
var aclass = "external";
else aclass = "";

puis
jQuery("a[href=" + sStamp + "]", wym._doc.body)
     .attr(WYMeditor.HREF, sUrl)
     .attr(WYMeditor.TITLE, jQuery(wym._options.titleSelector).val())
     .attr(WYMeditor.CLASS, aclass);

D'autre petites modifications sont à ajouter, comme par exemple l'initialisation de quelques constantes, sans oublier bien sur l'ajout du libellé dans le tableau WYMeditor.STRINGS['fr'] du fichier lang/fr.js :
External:          'Lien externe'

Le script javascript maintenant qui va ouvrir dans une nouvelle fenêtre tous les liens ayant l'attribut class="external" :
$(function() {
    $('a.external').click( function() {
        window.open(this.href);
        return false;
    });
});

Voici donc le fichier jquery.wymeditor.js modifié.
N.B : Les lignes ajoutées dans le fichier sont terminées par le commentaire suivant :
// romualb
Bookmark and Share

 

Commentaires

Aucun commentaire

 

Ajouter un commentaire

nom / pseudo :
e-mail :

(Votre e-mail ne sera ni exploité, ni divulgué.)

site (facultatif)
 

Webmaster depuis maintenant plus de 10 ans, j'ai créé ce blog pour publier mes retours d'expérience et parler du Web et du développement Web en général, mais aussi de plein d'autres choses...

romualb.com est sur Facebook
<Juillet 2010 
LunMarMerJeuVenSamDim
   01 02 03 04
05 06 07 08 09 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

 

 

Referencement annuaire gratuit Annuaire carte postale blog,,personnel communiquer gratuit Paperblog : Les meilleurs actualités issues des blogs Classement de sites - Inscrivez le vôtre! Inscrivez-vous maintenant sur Viadeo Web Developement Blogs - BlogCatalog Blog Directory web counter