Utiliser du JavaScript dans les Community Blogs
Principe
Comme vous aurez sans doute pu le constater, les blogs Community Source ont la fâcheuse habitude de supprimer de votre code tout ce qui ressemble de près ou de loin à du JavaScript.
Heureusement, il est possible d'executer malgré tout du JavaScript via un workaround, et, par là même, de mettre tout l'HTML que vous voulez dans vos blogs (IFRAME, ...)
Voici un exemple :
if (document.getElementById) {
document.getElementById("dynamic").innerHTML="<" + "A href" + "=\"javascript:void(alert('Ce lien a été ajouté dynamiquement via innerHTML.'))\"" + ">" + "Test link" + "<" + "/" + "A" + ">";
}
En gros, l'astuce consiste à créer une balise PRE dans votre code, de lui donner comme classe CSS "js" et de spécifier dans votre style (Replacement CSS) qu'il ne faut pas afficher les PRE.js
Ensuite, il convient d'ajouter un code JavaScript dans la partie "En-tête brute" de votre blog qui, au chargement de la page, récupére toutes les balises PRE et évalue le contenu (firstChild.data) de toutes celles qui ont pour classe CSS "js".
Ressources :
Style
.js { display: none; visibility: hidden; width: 0px; height: 0px; overflow: hidden; }
JavaScript
<script><!--
function addEvent(obj, name, func) {
if (obj.attachEvent) {
obj.attachEvent("on"+name, func, true)
} else if (obj.addEventListener) {
obj.addEventListener(name, func, true)
} else {
obj["on"+name]=func;
}
}
addEvent(window, "load", function() {
var js = document.getElementsByTagName("pre")
for (var i=0; i<js.length; i++) {
if (js[ i ].className!="js") { continue; }
setTimeout(js[ i ].firstChild.data, 0)
}
})
--></script>
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
François REMY est un jeune développeur belge plein d'entrain qui traite surtout des technologies du web et de DotNet dans ses articles.