Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3886 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] FireFox plante sur mon getElementById('xxx').innerT ext.split('.')

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS] FireFox plante sur mon getElementById('xxx').innerT ext.split('.')

n°957468
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 14:48:33  profilanswer
 

Alors voilà, j'ai un script :
 

Code :
  1. // Menu dynamique
  2. // Ce script a pour but d'aller chercher dans le "petit poucet" les informations sur la navigation actuelle,  
  3. // afin de mettre en surbrillance les menus courants.
  4. // Debug functions. Disabled as the script is in production version now ;)
  5. /*
  6. function initDebug()
  7. {
  8. document.body.innerHTML = "<textarea id=\"dbg\"></textarea>" + document.body.innerHTML;
  9. }
  10. function debug(msg)
  11. {
  12. document.getElementById("dbg" ).innerHTML += msg;
  13. }
  14. */
  15. // Search functions
  16. function getNavHistory()
  17. {
  18. var navHistory = new Array();
  19. navHistory = document.getElementById("navigation" ).innerText.split(">" );
  20. return navHistory;
  21. }
  22. // String functions
  23. function trim(str)
  24. {
  25. var stillBlank = new Boolean();
  26. stillBlank = true;
  27. while (stillBlank)
  28. {
  29.  if (str.charAt(0) == " " )
  30.   str = str.substring(1);
  31.  else
  32.   stillBlank = false;
  33. }
  34. stillBlank = true;
  35. while (stillBlank)
  36. {
  37.  if (str.charAt(str.length - 1) == " " )
  38.   str = str.substring(0, str.length - 1);
  39.  else
  40.   stillBlank = false;
  41. }
  42. return str;
  43. }
  44. // Indentify menu to hightlight and do it ;)
  45. function makeHightLight(el, pattern)
  46. {
  47. var i = new Number();
  48. for (i = 0; i < el.children.length; i++)
  49. {
  50.  if (el.children[i].innerText.indexOf(pattern) >= 0)
  51.  {
  52.   if (el.children[i].children.length == 0)
  53.   {
  54.    el.children[i].style.fontWeight = "bolder";
  55.    el.children[i].innerHTML = "&gt; " + el.children[i].innerHTML + " &lt;";
  56.    return true;
  57.   }
  58.   else
  59.   {
  60.    return makeHightLight(el.children[i], pattern);
  61.   }
  62.  }
  63. }
  64. return false;
  65. }
  66. // Main function
  67. function hightLight()
  68. {
  69. var navHistory = new Array();
  70. var i = new Number();
  71. navHistory = getNavHistory();
  72. for (i = 0; i < navHistory.length - 1; i++)
  73. {
  74.  if (document.getElementById("listFolder" ))
  75.  {
  76.   if (makeHightLight(document.getElementById("listFolder" ), trim(navHistory[i]).substring(0, Math.min(trim(navHistory[i]).length, 10))))
  77.   {
  78.    if (document.getElementById("listFolder2" ))
  79.    {
  80.     makeHightLight(document.getElementById("listFolder2" ), trim(navHistory[i + 1]).substring(0, Math.min(trim(navHistory[i + 1]).length, 10)));
  81.    }
  82.    break;
  83.   }
  84.  }
  85. }
  86. }


(il est bô hein ? sisi :o)
 
Et sous IE ça marche parfaitement.
Mais sous FF, il ne comprends pas :

Code :
  1. document.getElementById("navigation" ).innerText.split(">" );


 
Pour lui, "document.getElementById("navigation" ).innerText" n'a pas de méthode ou de propriété.
 
Vous pouvez me dire par quoi je dois remplacer cette ligne ?
 
PS: si possible, un truc génial, ce serait un truc compatible à la fois FF et IE, mais bon, c'est peut-être trop demandé ;)

mood
Publicité
Posté le 20-01-2005 à 14:48:33  profilanswer
 

n°957484
Bidem
Posté le 20-01-2005 à 15:02:00  profilanswer
 

C'est quoi comme objet "navigation" ?

n°957491
FlorentG
Posté le 20-01-2005 à 15:09:59  profilanswer
 

Voit la référence DHTML de microsoft sur innerText, et surtout cette phrase :

Citation :

There is no public standard that applies to this property.


 
Donc ça n'existe qu'en JScript, et pas en javascript...

n°957497
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 15:12:12  profilanswer
 

bidem a écrit :

C'est quoi comme objet "navigation" ?


C'est un DIV.
 
=> Le JS met les entrées du menus en gras et entre "> ... <"


Message édité par Arjuna le 06-04-2005 à 12:24:17
n°957499
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 15:13:10  profilanswer
 

FlorentG a écrit :

Voit la référence DHTML de microsoft sur innerText, et surtout cette phrase :

Citation :

There is no public standard that applies to this property.


 
Donc ça n'existe qu'en JScript, et pas en javascript...


C'est pour ça que je demande par quoi remplacer pour FF.
 
J'ai trouvé cette page :
http://www.mozilla.org/editor/ie2midas.html
 
Mais ils ne parlent que de "innetHTML", hors moi j'ai besoin aussi du innerText


Message édité par Arjuna le 20-01-2005 à 15:13:43
n°957509
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 15:18:15  profilanswer
 

En fait, pour résumer.
 
En haut de la page, il y a un "petit poucet" (suite de liens qui représentent la navigation courante).
 
Il contient : "Interventions > Discours et déclarations > 2005 > Janvier 2005 > Article : Janvier 2005" (entre chaque ">", il s'agit d'un lien. Mais pour plus de commodité, je ne vais pas chercher à l'intérieur des liens, mais j'analyse directement le "innerText" (car ce ne sont pas nécessairement toujours des liens).
 
Ensuite, une fois que j'ai trouvé la chaîne, je recherche chaque sous-chaîne (les éléments entre les ">" ) dans mes deux div de navitation. Et lorsque j'en ai trouvé un qui correspond, je le modifie pour le mettre en gras et avec des "> ... <" de chaque côté.
 
On ne peut pas faire autrement, notre outils de CMS qui gère le site ne sais pas identifier la page en court de visualisation, et il génère des fichier HTML pleins, donc pas de variable utilisable.

n°957514
FlorentG
Posté le 20-01-2005 à 15:21:45  profilanswer
 

Y'aurait moyen de faire autrement :
 
Tu fait toutes tes pages en XHTML. Tu vérifies bien qu'elle sont servies en application/xhtml+xml. Ensuite tu les parses en tant qu'XML en PHP, et tu rajoute genre une class="current" dans le bon lien :)

n°957526
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 15:29:40  profilanswer
 

FlorentG a écrit :

Y'aurait moyen de faire autrement :
 
Tu fait toutes tes pages en XHTML. Tu vérifies bien qu'elle sont servies en application/xhtml+xml. Ensuite tu les parses en tant qu'XML en PHP, et tu rajoute genre une class="current" dans le bon lien :)


1) Elles sont full XHTML compliant.
2) Y'a PAS de PHP sur le serveur. Pour la simple et bonne raison que c'est le site de l'Elysée, et que Chirac n'a pas envie de se retrouver dans les bras de Casimir en train et publier sa lettre au père noël parcequ'un hacker à trouvé ça marrant.
 
L'appli CMS qui gère le site est derrière un firewall et coupée de tout réseau génère des fichiers HTML statiques, qui sont ensuite acheminés, via une lige totalement indépendant d'internet, sur le serveur web. Ce dernier ne sait que servir des pages HTML statiques et rien d'autre (même pas d'upload ou de CGI)


Message édité par Arjuna le 20-01-2005 à 15:30:06
n°957530
FlorentG
Posté le 20-01-2005 à 15:31:55  profilanswer
 

Arjuna a écrit :

1) Elles sont full XHTML compliant.
2) Y'a PAS de PHP sur le serveur. Pour la simple et bonne raison que c'est le site de l'Elysée, et que Chirac n'a pas envie de se retrouver dans les bras de Casimir en train et publier sa lettre au père noël parcequ'un hacker à trouvé ça marrant.
 
L'appli CMS qui gère le site est derrière un firewall et coupée de tout réseau génère des fichiers HTML statiques, qui sont ensuite acheminés, via une lige totalement indépendant d'internet, sur le serveur web. Ce dernier ne sait que servir des pages HTML statiques et rien d'autre (même pas d'upload ou de CGI)


 
Hum, elles devraient être XHTML 1.0, et au moins satisfaire la pirorité A des WCAG, vu que dans la nouvelle loi qui vient de sortir, tous les sites administratifs doivent être aux normes d'accessibilité ;)

n°957598
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 16:39:45  profilanswer
 

Bon, j'y suis presque :sweat:
 
J'arrive à me balader dedans, mais je n'arrive pas à modifier :sweat:
 

Code :
  1. // Indentify menu to hightlight and do it ;)
  2. function makeHightLight(el, pattern)
  3. {
  4. var i = new Number();
  5. if (document.all)
  6. {
  7.  for (i = 0; i < el.children.length; i++)
  8.  {
  9.   if (el.children[i].innerText.indexOf(pattern) >= 0)
  10.   {
  11.    if (el.children[i].children.length == 0)
  12.    {
  13.     el.children[i].style.fontWeight = "bolder";
  14.     el.children[i].innerHTML = "&gt; " + el.children[i].innerHTML + " &lt;";
  15.     return true;
  16.    }
  17.    else
  18.    {
  19.     return makeHightLight(el.children[i], pattern);
  20.    }
  21.   }
  22.  }
  23.  return false;
  24. }
  25. else
  26. {
  27.  for (i = 0; i < el.childNodes.length; i++)
  28.  {
  29.   if (el.childNodes[i].tagName)
  30.   {
  31.    if (el.childNodes[i].tagName == "A" )
  32.    {
  33.     alert(el.childNodes[i].text + " -- " + pattern);
  34.     if (el.childNodes[i].text.indexOf(pattern) >= 0)
  35.     {
  36. // Là, ça marche presque !
  37.      el.childNodes[i].text = "<b>&gt; " + el.childNodes[i].text + " &lt;</b>";
  38.      return true;
  39.     }
  40.    }
  41.    else
  42.    {
  43.     if (el.childNodes[i].hasChildNodes())
  44.     {
  45.      if (makeHightLight(el.childNodes[i], pattern))
  46.      {
  47.       return true;
  48.      }
  49.     }
  50.    }
  51.   }
  52.  }
  53.  return false;
  54. }
  55. }


 
=> le .text est en readonly. Comment je fais pour le modifier :o

mood
Publicité
Posté le 20-01-2005 à 16:39:45  profilanswer
 

n°957601
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 16:40:35  profilanswer
 

FlorentG a écrit :

Hum, elles devraient être XHTML 1.0, et au moins satisfaire la pirorité A des WCAG, vu que dans la nouvelle loi qui vient de sortir, tous les sites administratifs doivent être aux normes d'accessibilité ;)


Mais puisque je te dit qu'il l'est :o (quoique non, c'est HTML4) mais avec une structure XHTML (pas de tableau). Sauf que vu qu'on passe par un CMS con qui vire les " des attributs et passe les tag en majuscule, sans parler des balises style "<img />" sont systématiquement remplacées par "<img>", on peut pas être compatible XHTML. Mais pour les problèmes d'accessibilité, pas de problème. La preuve, le truc de lecture en ligne des discours marche très bien.


Message édité par Arjuna le 20-01-2005 à 16:46:58
n°957603
FlorentG
Posté le 20-01-2005 à 16:42:26  profilanswer
 

Arjuna a écrit :

Mais puisque je te dit qu'il l'est :o


 
Oups, j'ai mal lu :D
 
Sinon y'a plus simple ! Tu fait :

Code :
  1. el.childNodes[i].style.fontWeight = 'bold';


Message édité par FlorentG le 20-01-2005 à 16:43:10
n°957608
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 16:47:29  profilanswer
 

FlorentG a écrit :

Oups, j'ai mal lu :D
 
Sinon y'a plus simple ! Tu fait :

Code :
  1. el.childNodes[i].style.fontWeight = 'bold';



 
Et pour rajouter mes ">" et "<" de chaque côté ?

n°957610
cerel
Posté le 20-01-2005 à 16:48:43  profilanswer
 

Essaye de voir sur ce site : http://www.quirksmode.org/ Il utilise le systeme que tu as decrit. Il me semble qu'il en explique le fonctionnement.

n°957611
FlorentG
Posté le 20-01-2005 à 16:48:49  profilanswer
 

A mince, y'a les becs d'oiseau à rajouter :cry:... Ben avec les pseudo machin :before et :after sur le même principe, mais fonctionne pas sous IE...
 
Sinon en fait, en XHTML (avec le bon type MIME), y'a plus de innerHTML, faut passer par des objects DOM...

n°957671
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 17:33:10  profilanswer
 

Wouala ça marche !
 

Code :
  1. // Menu dynamique
  2. // Ce script a pour but d'aller chercher dans le "petit poucet" les informations sur la navigation actuelle,  
  3. // afin de mettre en surbrillance les menus courants.
  4. // UPDATE 20/01/2005 : SD / Update for Mozilla support (innerHTML and innerText not supported)
  5. // Debug functions. Disabled as the script is in production version now ;)
  6. /*
  7. function initDebug()
  8. {
  9. document.body.innerHTML = "<textarea id=\"dbg\"></textarea>" + document.body.innerHTML;
  10. }
  11. function debug(msg)
  12. {
  13. document.getElementById("dbg" ).innerHTML += msg;
  14. }
  15. */
  16. // Search functions
  17. function getNavHistory()
  18. {
  19. var navHistory = new Array();
  20. if (document.all)
  21. {
  22.  navHistory = document.getElementById("navigation" ).innerText.split(">" );
  23. }
  24. else
  25. {
  26.  var i = new Number();
  27.  var j = new Number();
  28.  j = 0;
  29.  for (i = 0; i < document.getElementById("navigation" ).childNodes.length; i++)
  30.  {
  31.   if (document.getElementById("navigation" ).childNodes[i].tagName == "A" )
  32.   {
  33.    navHistory[j] = document.getElementById("navigation" ).childNodes[i].text;
  34.    j++;
  35.   }
  36.  }
  37. }
  38. return navHistory;
  39. }
  40. // String functions
  41. function trim(str)
  42. {
  43. while (str.indexOf("\n" ) >= 0)
  44. {
  45.  str = str.replace("\n", "" );
  46. }
  47. while (str.indexOf("\r" ) >= 0)
  48. {
  49.  str = str.replace("\r", "" );
  50. }
  51. while (str.indexOf("\t" ) >= 0)
  52. {
  53.  str = str.replace("\t", "" );
  54. }
  55. while (str.indexOf(" " ) >= 0)
  56. {
  57.  str = str.replace(" ", "" );
  58. }
  59. return str;
  60. }
  61. // Indentify menu to hightlight and do it ;)
  62. function makeHightLight(el, pattern)
  63. {
  64. var i = new Number();
  65. if (document.all)
  66. {
  67.  for (i = 0; i < el.children.length; i++)
  68.  {
  69.   if (trim(el.children[i].innerText).indexOf(pattern) >= 0)
  70.   {
  71.    if (el.children[i].children.length == 0)
  72.    {
  73.     el.children[i].style.fontWeight = "bolder";
  74.     el.children[i].innerHTML = "&gt; " + el.children[i].innerHTML + " &lt;";
  75.     return true;
  76.    }
  77.    else
  78.    {
  79.     return makeHightLight(el.children[i], pattern);
  80.    }
  81.   }
  82.  }
  83.  return false;
  84. }
  85. else
  86. {
  87.  for (i = 0; i < el.childNodes.length; i++)
  88.  {
  89.   if (el.childNodes[i].tagName)
  90.   {
  91.    if (el.childNodes[i].tagName == "A" )
  92.    {
  93.     if (trim(el.childNodes[i].text).indexOf(pattern) >= 0)
  94.     {
  95.      x = el.childNodes[i];
  96.      y = el.childNodes[i].text;
  97.      x.innerHTML = '';
  98.      x.innerHTML = "<b>&gt; " + y + " &lt;</b>";
  99.      return true;
  100.     }
  101.    }
  102.    else
  103.    {
  104.     if (el.childNodes[i].hasChildNodes())
  105.     {
  106.      if (makeHightLight(el.childNodes[i], pattern))
  107.      {
  108.       return true;
  109.      }
  110.     }
  111.    }
  112.   }
  113.  }
  114.  return false;
  115. }
  116. }
  117. // Main function
  118. function hightLight()
  119. {
  120. var navHistory = new Array();
  121. var i = new Number();
  122. navHistory = getNavHistory();
  123. for (i = 0; i < navHistory.length - 1; i++)
  124. {
  125.  if (document.getElementById("listFolder" ))
  126.  {
  127.   if (makeHightLight(document.getElementById("listFolder" ), trim(navHistory[i]).substring(0, Math.min(trim(navHistory[i]).length, 10))))
  128.   {
  129.    if (document.getElementById("listFolder2" ))
  130.    {
  131.     makeHightLight(document.getElementById("listFolder2" ), trim(navHistory[i + 1]).substring(0, Math.min(trim(navHistory[i + 1]).length, 10)));
  132.    }
  133.    break;
  134.   }
  135.  }
  136. }
  137. }

n°957751
Hermes le ​Messager
Breton Quiétiste
Posté le 20-01-2005 à 19:44:03  profilanswer
 

Arjuna a écrit :

Wouala ça marche !
 

Code :
  1. // Menu dynamique
  2. // Ce script a pour but d'aller chercher dans le "petit poucet" les informations sur la navigation actuelle,  
  3. // afin de mettre en surbrillance les menus courants.
  4. // UPDATE 20/01/2005 : SD / Update for Mozilla support (innerHTML and innerText not supported)
  5. // Debug functions. Disabled as the script is in production version now ;)
  6. /*
  7. function initDebug()
  8. {
  9. document.body.innerHTML = "<textarea id=\"dbg\"></textarea>" + document.body.innerHTML;
  10. }
  11. function debug(msg)
  12. {
  13. document.getElementById("dbg" ).innerHTML += msg;
  14. }
  15. */
  16. // Search functions
  17. function getNavHistory()
  18. {
  19. var navHistory = new Array();
  20. if (document.all)
  21. {
  22.  navHistory = document.getElementById("navigation" ).innerText.split(">" );
  23. }
  24. else
  25. {
  26.  var i = new Number();
  27.  var j = new Number();
  28.  j = 0;
  29.  for (i = 0; i < document.getElementById("navigation" ).childNodes.length; i++)
  30.  {
  31.   if (document.getElementById("navigation" ).childNodes[i].tagName == "A" )
  32.   {
  33.    navHistory[j] = document.getElementById("navigation" ).childNodes[i].text;
  34.    j++;
  35.   }
  36.  }
  37. }
  38. return navHistory;
  39. }
  40. // String functions
  41. function trim(str)
  42. {
  43. while (str.indexOf("\n" ) >= 0)
  44. {
  45.  str = str.replace("\n", "" );
  46. }
  47. while (str.indexOf("\r" ) >= 0)
  48. {
  49.  str = str.replace("\r", "" );
  50. }
  51. while (str.indexOf("\t" ) >= 0)
  52. {
  53.  str = str.replace("\t", "" );
  54. }
  55. while (str.indexOf(" " ) >= 0)
  56. {
  57.  str = str.replace(" ", "" );
  58. }
  59. return str;
  60. }
  61. // Indentify menu to hightlight and do it ;)
  62. function makeHightLight(el, pattern)
  63. {
  64. var i = new Number();
  65. if (document.all)
  66. {
  67.  for (i = 0; i < el.children.length; i++)
  68.  {
  69.   if (trim(el.children[i].innerText).indexOf(pattern) >= 0)
  70.   {
  71.    if (el.children[i].children.length == 0)
  72.    {
  73.     el.children[i].style.fontWeight = "bolder";
  74.     el.children[i].innerHTML = "&gt; " + el.children[i].innerHTML + " &lt;";
  75.     return true;
  76.    }
  77.    else
  78.    {
  79.     return makeHightLight(el.children[i], pattern);
  80.    }
  81.   }
  82.  }
  83.  return false;
  84. }
  85. else
  86. {
  87.  for (i = 0; i < el.childNodes.length; i++)
  88.  {
  89.   if (el.childNodes[i].tagName)
  90.   {
  91.    if (el.childNodes[i].tagName == "A" )
  92.    {
  93.     if (trim(el.childNodes[i].text).indexOf(pattern) >= 0)
  94.     {
  95.      x = el.childNodes[i];
  96.      y = el.childNodes[i].text;
  97.      x.innerHTML = '';
  98.      x.innerHTML = "<b>&gt; " + y + " &lt;</b>";
  99.      return true;
  100.     }
  101.    }
  102.    else
  103.    {
  104.     if (el.childNodes[i].hasChildNodes())
  105.     {
  106.      if (makeHightLight(el.childNodes[i], pattern))
  107.      {
  108.       return true;
  109.      }
  110.     }
  111.    }
  112.   }
  113.  }
  114.  return false;
  115. }
  116. }
  117. // Main function
  118. function hightLight()
  119. {
  120. var navHistory = new Array();
  121. var i = new Number();
  122. navHistory = getNavHistory();
  123. for (i = 0; i < navHistory.length - 1; i++)
  124. {
  125.  if (document.getElementById("listFolder" ))
  126.  {
  127.   if (makeHightLight(document.getElementById("listFolder" ), trim(navHistory[i]).substring(0, Math.min(trim(navHistory[i]).length, 10))))
  128.   {
  129.    if (document.getElementById("listFolder2" ))
  130.    {
  131.     makeHightLight(document.getElementById("listFolder2" ), trim(navHistory[i + 1]).substring(0, Math.min(trim(navHistory[i + 1]).length, 10)));
  132.    }
  133.    break;
  134.   }
  135.  }
  136. }
  137. }



 
 
Je te félicite, ton code JS est sacrément plus joli qu'il y a quelques temps. :)  :jap:  
 
Au fait j'ai repris ton idée de menu déroulant qui cherche en JS les mots commençant par les lettres inscrites dans l'input.  :D  
 
 :hello:

n°957821
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-01-2005 à 20:45:21  profilanswer
 

:)

n°1016303
FlorentG
Posté le 17-03-2005 à 16:49:06  profilanswer
 

Ca y est, on parle du site un peu partout :) Bravo pour la mise aux normes ;)

n°1016422
Arjuna
Aircraft Ident.: F-MBSD
Posté le 17-03-2005 à 18:08:40  profilanswer
 

Arf, oui, c'est vrai, le site est mis en ligne depuis un ou deux jour :)

n°1016433
Arjuna
Aircraft Ident.: F-MBSD
Posté le 17-03-2005 à 18:14:34  profilanswer
 

Ouahou ! C'est cool, ils ont laissé mon script tel quel, avec les commentaires et la fonction de debug...
 
Et surtout mes initiales dedans :bounce:
 
Ils parlent de moi sur le site de la république française !!! :D


Message édité par Arjuna le 17-03-2005 à 18:15:09
n°1016488
FlorentG
Posté le 17-03-2005 à 19:58:39  profilanswer
 

L'enflure, aucun crédit à nous tous qui t'avons aidé dans ta dure quête de maîtrise du dragon JS :D

n°1016491
Arjuna
Aircraft Ident.: F-MBSD
Posté le 17-03-2005 à 20:03:55  profilanswer
 

Bah ouais, c'est comme ça qu'on devient célèbre : faut s'attribuer le mérite des autres :D

n°1016492
FlorentG
Posté le 17-03-2005 à 20:04:57  profilanswer
 

gnarf :D Enfin au moins on peut être fier du site de notre président, et le citer en exemple :)

n°1016503
Arjuna
Aircraft Ident.: F-MBSD
Posté le 17-03-2005 à 20:10:56  profilanswer
 

C'est pas de ma faute ça par contre, parceque moi et les normes, ça fait deux :D
J'aime bien m'en servir, du moment qu'elles ne me brident pas (ni au niveau de l'implémentation de choses spécifiques, ni en terme de vitesse de développement), ce qui est malheureusement souvent le cas avec les normes actuelles (entre le fait que je ne les maîtrise pas vraiment, et qu'il y a un certain nombre de régressions par rapport aux versions "proprio" qu'avaient développé Microsoft et Netscape à l'époque de leur guéguère...)
 
M'enfin l'Elysée, c'est différent, une lois sur l'accessibilité des documents administratif les force à ne faire que du 100% full W3C compliant, afin de les outils de lecture interactive, de brail et autres soient compatibles.

n°1016509
FlorentG
Posté le 17-03-2005 à 20:14:35  profilanswer
 
n°1021169
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 16:16:53  profilanswer
 

Au fait, vous avez vu ? Je suis vraiment une pure star :sol:
 
En plus d'être mentionné (bon, de façon détournée, je sais :D) sur le site de l'Elysée, je suis aussi dans le journal !!!
 
20 Minutes de ce matin (mardi 22 mars 2005) édition de Paris.
L'article "Les pirates on bon dos", de "MagicBuzz", dans le courrier des lecteurs :sol:

n°1021173
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 16:19:07  profilanswer
 

Par contre, c'est vrai que c'est pas terrible qu'une personnalité de ma notoriété reconnue d'utilité publique avoue publiquement dans un journal de seconde zone qu'elle a des films piratés chez elle :whistle:


Message édité par Arjuna le 22-03-2005 à 16:19:35
n°1021176
coffeeman
Posté le 22-03-2005 à 16:21:35  profilanswer
 

Arjuna a écrit :


20 Minutes de ce matin (mardi 22 mars 2005) édition de Paris.


 
oui. Tu as des MP3 piraté parce que aller au cinéma, c'est trop cher :o
 
On a beaucoup ris au bureau grace à toi :o


---------------
Moi, j'aime pas les signatures - J'écoute actuellement :
n°1021200
antp
Super Administrateur
Champion des excuses bidons
Posté le 22-03-2005 à 16:31:47  profilanswer
 


 
hmmm par contre la légende des icônes genre http://www.elysee.fr/elysee/root/bank/tclass/readspeaker.png n'est qu'en Alt et non en Title, du coup avec Mozilla j'ai pas d'infobulle qui me dit ce que c'est, est-ce bien accessible ? :o [:ddr555]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1021216
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 16:38:02  profilanswer
 

Les naveugles et les sourds y savent pas installer Mozilla parceque c'est trop compliqué, alors ils utilisent IE :ange:

n°1021219
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 16:40:03  profilanswer
 

coffeeman a écrit :

oui. Tu as des MP3 piraté parce que aller au cinéma, c'est trop cher :o
 
On a beaucoup ris au bureau grace à toi :o


Et d'abors, j'ai pas parlé de MP3 :heink:
 
(d'autant plus que même si j'en ai un paquet, pour la plupart, ce sont des copies de mes CD - que j'ai souvent eu la flème de ripper moi-même, donc que j'ai télécharger, mais bon)

n°1021221
FlorentG
Posté le 22-03-2005 à 16:40:05  profilanswer
 

antp a écrit :

hmmm par contre la légende des icônes genre http://www.elysee.fr/elysee/root/b [...] peaker.png n'est qu'en Alt et non en Title, du coup avec Mozilla j'ai pas d'infobulle qui me dit ce que c'est, est-ce bien accessible ? :o [:ddr555]


En tous cas ils ont bien remplis le alt :

Citation :

Lire ce texte (synthèse vocale)


Moi ça me plaît bien :)

n°1021291
Flyman30
Posté le 22-03-2005 à 17:16:50  profilanswer
 

Arjuna a écrit :

Et d'abors, j'ai pas parlé de MP3 :heink:
 
(d'autant plus que même si j'en ai un paquet, pour la plupart, ce sont des copies de mes CD - que j'ai souvent eu la flème de ripper moi-même, donc que j'ai télécharger, mais bon)


 
http://dener.free.fr/img/2005-03-22_20minutes_MB-.jpg
 
Oué y a pas trace de MP3  :D


Message édité par Flyman30 le 06-04-2005 à 14:37:22

---------------
planuldep | Association pêche à la Sempé
n°1021401
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-03-2005 à 19:14:20  profilanswer
 

J'ai tout regardé partout sur mon chemin du retour ce soir si y'avais pas des flics en planque partout autour de chez moi :D
En plus, chais pas ce qu'ils avaient ce soir, mais ct plein de policiers dans le métro ce soir. Je vous raconte pas la crise de parano :lol:

n°1025240
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-03-2005 à 19:37:57  profilanswer
 

Allez, une correction sur le site de l'Elysée.
 
En fait, dans le "petit poucet", quand le texte est trop long, on a des "..." qui viennent se mettre au milieu de la chaîne, pour la raccourcir. Par exemple :
"Lire la Déclaration Universelle des Droits de l'Homme"
Devient :
"Lire la Décl...ts de L'Homme"
 
C'est pas très beau, mais c'est l'outils qui gère les templates qui fait ça, et on n'a pas les sources pour le changer.
 
Du coup, j'avais limité mes fonctions à la lecture des X premiers caractères des éléments du petit poucet, avec X < le plus petit nombre de caractères possibles avant les "...".
 
Seul problème, ce chiffre étant relativement bas, le script ne différenciait plus "Juin" et "Juillet", et du coup ça ne surlignait pas le bon mois...
 
Correction donc, si je trouve "...", alors je tronque à cet endroit, sinon, je laisse la chaîne telle quelle pour la comparaison.
 
Seule limitation, c'est que j'ignore la fin de la phrase. DU coup, des menus :
"Lire la bibliogra...ident Chirac"
et
"Lire la bibliogra...tre Raffarin"
 
Sera reconnue comme la même.
A eux de faire attention à mettre la partie du titre la plus discriminante en premier :)
 

Code :
  1. // Menu dynamique
  2. // Ce script a pour but d'aller chercher dans le "petit poucet" les informations sur la navigation actuelle,  
  3. // afin de mettre en surbrillance les menus courants.
  4. // UPDATE 20/01/2005 : SD / Update for Mozilla support (innerHTML and innerText not supported)
  5. // UPDATE 25/03/2005 : SD / Update for differenciation between "Juin" and "Juillet" months
  6. // Debug functions. Disabled as the script is in production version now ;)
  7. /*
  8. function initDebug()
  9. {
  10. document.body.innerHTML = "<textarea id="dbg"></textarea>" + document.body.innerHTML;
  11. }
  12. function debug(msg)
  13. {
  14. document.getElementById("dbg" ).innerHTML += msg;
  15. }
  16. */
  17. // Search functions
  18. function getNavHistory()
  19. {
  20. var navHistory = new Array();
  21. if (document.all)
  22. {
  23.  navHistory = document.getElementById("navigation" ).innerText.split(">" );
  24. }
  25. else
  26. {
  27.  var i = new Number();
  28.  var j = new Number();
  29.  j = 0;
  30.  for (i = 0; i < document.getElementById("navigation" ).childNodes.length; i++)
  31.  {
  32.   if (document.getElementById("navigation" ).childNodes[i].tagName == "A" )
  33.   {
  34.    navHistory[j] = document.getElementById("navigation" ).childNodes[i].text;
  35.    j++;
  36.   }
  37.  }
  38. }
  39. return navHistory;
  40. }
  41. // String functions
  42. function trim(str)
  43. {
  44. if (str.indexOf("..." ) >= 0)
  45. {
  46.  str = str.substring(0, str.indexOf("..." ) - 1);
  47. }
  48. while (str.indexOf("\n" ) >= 0)
  49. {
  50.  str = str.replace("\n", "" );
  51. }
  52. while (str.indexOf("\r" ) >= 0)
  53. {
  54.  str = str.replace("\r", "" );
  55. }
  56. while (str.indexOf("\t" ) >= 0)
  57. {
  58.  str = str.replace("\t", "" );
  59. }
  60. while (str.indexOf(" " ) >= 0)
  61. {
  62.  str = str.replace(" ", "" );
  63. }
  64. return str;
  65. }
  66. // Indentify menu to hightlight and do it ;)
  67. function makeHightLight(el, pattern)
  68. {
  69. var i = new Number();
  70. if (document.all)
  71. {
  72.  for (i = 0; i < el.children.length; i++)
  73.  {
  74.   if (trim(el.children[i].innerText).indexOf(pattern) >= 0)
  75.   {
  76.    if (el.children[i].children.length == 0)
  77.    {
  78.     el.children[i].style.fontWeight = "bolder";
  79.     el.children[i].innerHTML = "&gt; " + el.children[i].innerHTML + " &lt;";
  80.     return true;
  81.    }
  82.    else
  83.    {
  84.     return makeHightLight(el.children[i], pattern);
  85.    }
  86.   }
  87.  }
  88.  return false;
  89. }
  90. else
  91. {
  92.  for (i = 0; i < el.childNodes.length; i++)
  93.  {
  94.   if (el.childNodes[i].tagName)
  95.   {
  96.    if (el.childNodes[i].tagName == "A" )
  97.    {
  98.     if (trim(el.childNodes[i].text).indexOf(pattern) >= 0)
  99.     {
  100.      x = el.childNodes[i];
  101.      y = el.childNodes[i].text;
  102.      x.innerHTML = '';
  103.      x.innerHTML = "<b>&gt; " + y + " &lt;</b>";
  104.      return true;
  105.     }
  106.    }
  107.    else
  108.    {
  109.     if (el.childNodes[i].hasChildNodes())
  110.     {
  111.      if (makeHightLight(el.childNodes[i], pattern))
  112.      {
  113.       return true;
  114.      }
  115.     }
  116.    }
  117.   }
  118.  }
  119.  return false;
  120. }
  121. }
  122. // Main function
  123. function hightLight()
  124. {
  125. var navHistory = new Array();
  126. var i = new Number();
  127. navHistory = getNavHistory();
  128. for (i = 0; i < navHistory.length - 1; i++)
  129. {
  130.  if (document.getElementById("listFolder" ))
  131.  {
  132.   if (makeHightLight(document.getElementById("listFolder" ), trim(navHistory[i])))
  133.   {
  134.    if (document.getElementById("listFolder2" ))
  135.    {
  136.     makeHightLight(document.getElementById("listFolder2" ), trim(navHistory[i + 1]));
  137.    }
  138.    break;
  139.   }
  140.  }
  141. }
  142. }


 
Voilà, ça devrait mieu marcher maintenant. Vous avez jusqu'à lundi pour voir le bug :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] FireFox plante sur mon getElementById('xxx').innerT ext.split('.')

 

Sujets relatifs
Probleme compatibilité IE/FireFox sur un javascriptproblème de positionnement du texte avec Firefox
[CSS] FireFox <> IE problèmes d'affichage....Libxml plante explorer
[HTML] Problème de tableaux avec mon site sous FirefoxProblèmes d'affichage FireFox <> IE
Firefox et les cadres[Xul - Firefox] Des connaisseurs??
gif animé qui plante sous Firefox 
Plus de sujets relatifs à : [JS] FireFox plante sur mon getElementById('xxx').innerT ext.split('.')


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR