Utilisateur:A2/highlight.js
Apparence
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./* test hightlight */
jQuery(document).ready(function($){
$('#p-accessibility ul').append('<li><a title="Vérifier la typographie" id="acc_typos" href="#">Typographie</a></li>');
var state=$.cookie('acc_typos');
if(state=='true' && (mw.config.get('wgAction')=='view')){
acc_typos();
}
if(state!=null){
$.cookie('acc_typos',state,{'expires':30,'path':'/'});
}
$('#acc_typos').click(function(){
if(!(mw.config.get('wgAction')=='view')) return;
acc_typos();
return false;
});
function acc_typos(){
$('#acc_typos').toggleClass('acc_on');
$.cookie('acc_typos',$('#acc_typos').is('.acc_on'),{'expires':30,'path':'/'});
if($('#acc_typos').attr('class') == 'acc_on') {
$('#content').removeHighlight().highlight('\u2019').highlight('\u00a0').highlight('\u0020\u0020');
} else {
$('#content').removeHighlight();
}
};
});
/*
highlight v3 !! Modified by Jon Raasch (http://jonraasch.com) to fix IE6 bug !!
Highlights arbitrary terms.
<http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html>
MIT license.
Johann Burkard
<http://johannburkard.de>
<mailto:jb@eaio.com>
*/
$.fn.highlight = function (pat) {
function innerHighlight(node, pat) {
var skip = 0;
if (node.nodeType === 3) {
var pos = node.data.toUpperCase().indexOf(pat);
if (pos >= 0) {
var spannode = document.createElement('span');
spannode.className = 'highlight';
var middlebit = node.splitText(pos);
var endbit = middlebit.splitText(pat.length);
var middleclone = middlebit.cloneNode(true);
spannode.appendChild(middleclone);
middlebit.parentNode.replaceChild(spannode, middlebit);
skip = 1;
}
} else if (node.nodeType === 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
for (var i = 0; i < node.childNodes.length; ++i) {
i += innerHighlight(node.childNodes[i], pat);
}
}
return skip;
}
return this.each(function () {
innerHighlight(this, pat.toUpperCase());
});
};
$.fn.removeHighlight = function () {
function newNormalize(node) {
for (var i = 0, children = node.childNodes, nodeCount = children.length; i < nodeCount; i++) {
var child = children[i];
if (child.nodeType === 1) {
newNormalize(child);
continue;
}
if (child.nodeType !== 3) {
continue;
}
var next = child.nextSibling;
if (next == null || next.nodeType !== 3) {
continue;
}
var combined_text = child.nodeValue + next.nodeValue;
var new_node = node.ownerDocument.createTextNode(combined_text);
node.insertBefore(new_node, child);
node.removeChild(child);
node.removeChild(next);
i--;
nodeCount--;
}
}
return this.find("span.highlight").each(function () {
var thisParent = this.parentNode;
thisParent.replaceChild(this.firstChild, this);
newNormalize(thisParent);
}).end();
};