blog actif depuis 632 jours.

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

 

Tue

26

Jan

 


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 presque 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...

<Mars 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