| Line 77... |
Line 77... |
| 77 |
'çéèêîïô' + // les accents, non-traités dans la regexp générale et qui ne doivent pas
|
77 |
'çéèêîïô' + // les accents, non-traités dans la regexp générale et qui ne doivent pas
|
| 78 |
// être pris pour des bordures de mots
|
78 |
// être pris pour des bordures de mots
|
| 79 |
'\\w' +
|
79 |
'\\w' +
|
| 80 |
']|^){1,24}';
|
80 |
']|^){1,24}';
|
| Line -... |
Line 81... |
| - |
|
81 |
|
| - |
|
82 |
// sert à filtrer plus rapidement les nodes inutiles pour l'application
|
| - |
|
83 |
// du dictionnaire
|
| Line 81... |
Line 84... |
| 81 |
|
84 |
var exclureBlancs = new RegExp('^\\s*$');
|
| 82 |
|
85 |
|
| 83 |
function afficherLienDefinitions() {
|
86 |
function afficherLienDefinitions() {
|
| 84 |
html = '<div id="conteneur_activation_definition"><a href="#">rechercher les définitions</a></div>';
|
87 |
html = '<div id="conteneur_activation_definition"><a href="#">rechercher les définitions</a></div>';
|
| Line 98... |
Line 101... |
| 98 |
$.fn.remplacerDefinitions = function(mots) {
|
101 |
$.fn.remplacerDefinitions = function(mots) {
|
| 99 |
this.each(function() {
|
102 |
this.each(function() {
|
| 100 |
$(this).contents().filter(function() {
|
103 |
$(this).contents().filter(function() {
|
| 101 |
return (this.nodeType == 3 && ! (($(this).data("count") || 0) > max_passages));
|
104 |
return (this.nodeType == 3 && ! (($(this).data("count") || 0) > max_passages));
|
| 102 |
}).each(function() {
|
105 |
}).each(function() {
|
| - |
|
106 |
// évite les nodes dont le texte est undefined (dumb example <script>)
|
| - |
|
107 |
if(!$(this).text()) return true;
|
| - |
|
108 |
// évite les nodes dont le texte est vide ou blanc
|
| - |
|
109 |
if(exclureBlancs.test(texte)) return true;
|
| - |
|
110 |
|
| - |
|
111 |
// incrémente le compteur de passage
|
| - |
|
112 |
/* TODO: cette ligne cause un problème à IE-8
|
| - |
|
113 |
(peut-être uniquement relié au onChange() en cas de passage sur
|
| - |
|
114 |
des composants ajoutés postérieurement au chargement initial de la
|
| - |
|
115 |
page via AJAX. à tester. */
|
| 103 |
$(this).data("count", ($(this).data("count") || 0) + 1);
|
116 |
$(this).data("count", ($(this).data("count") || 0) + 1);
|
| - |
|
117 |
|
| 104 |
ttexte = texte = $(this).text();
|
118 |
ttexte = texte = $(this).text();
|
| 105 |
matches_list = necessiteSubstitution(texte)[0];
|
119 |
matches_list = necessiteSubstitution(texte)[0];
|
| 106 |
if(!matches_list) return true; // TODO: data("count") = max_passages ?
|
120 |
if(!matches_list) return true; // TODO: data("count") = max_passages ?
|
| Line 107... |
Line 121... |
| 107 |
|
121 |
|