Dans cette pages, on retrouvera mes divers essais pour insérer de nouveaux éléments dans dokuwiki. Eh oui, toujours du hack…
Par défaut, dokuwiki insère du code javascript compacté, provenant de diverses librairies.
Dans /lib/scripts/
ajax.js cookie.js domLib.js domTT.js edit.js events.js media.js pngbehavior.htc script.js spellcheck.js tw-sack.js
L'ajout de la librairie jquery directement dans le template main.php a posé une erreur de fonction appendChild, quand jquery est appelée après les librairies par défaut de dokuwiki. En mettant le code au début, après la balise title tout va bien…
Enfin presque… la variable spéciale et si pratique $ ne marche plus!
On peut utiliser jQuery à la place, ça marche, c'est un peu plus clair, même si c'est plus long à écrire.
Pour avoir cherché un petit moment avant de trouver le truc…
Pour ne pas afficher la Table des matières dans une page le TAG est
~~NOTOC~~
Je voulais insérer dynamiquement le script adsense:
jQuery("#ad_banner").append('<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></scr' + 'ipt>');
Il faut ruser un peu pour que l'analyseur syntaxique ne bloque pas sur la balise de fin </script>, on décompose donc en '</scr' + 'ipt>'.
Après, le problème est que si on appelle jQuery dans le cadre d'un événement du style onDocumentReady, ça provoque une erreur Javascript parce que le script Google fait un appel AJAX pour récupérer les publicités et ça coince ?!
A creuser…