Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Rue-Montgallet.com
  Programmation
  Html

  help me truc trop important trop utile trop bien si on trouve !!!

Bas de page
Auteur Sujet :

help me truc trop important trop utile trop bien si on trouve !!!

n°1756
theclimax
hummmmmmm
Profil : Membre
Posté le 27-08-2002 à 04:13:52  
 

voila pour faire simple mon but c d'avoir mon site ki ne tien " ke sur 1 page" et le reste tt le texte dans des fichier *.js
le pb c ke j veut faire une page principal donc ou les liens feré appel o fichier *.js contenant mes page ( texte images ...)
le probleme est kil fodré ke je trouve un code me permetant de changer le code deja existant dans ma page j vous montre vous aller comprendre !!!
 
exemple :
 
ceci est le code fessant appel au fichier *.js
<SCRIPT LANGUAGE="JavaScript" SRC="accueil.js"></SCRIPT>
 
ainsi j voi sur ma page html le contenu du fichier accueil.js
si j pouvait trouvé un code pour simplement modifié ( ici ) le mot "accueil" en le remplacent par autre choses (exemple : moi ) et ki chargeré alors le fichier.  
 
Si j fait cela mon site nora plus k'une page avec des lien changant a chaque fois un mot du code d'insertion des fichier *.js
 
si kelk1 a la solution  :heink: merci d'avances a+tlm  


---------------
merkiiiiiiii
mood
Pub
Posté le 27-08-2002 à 04:13:52  
 

n°1759
paxcal
Profil : Membre
Posté le 27-08-2002 à 06:49:49  
 

Essaye comme ça :
 
fichier home.html
 
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE="javascript" >
 var url = "accueil"
 var search = new String( document.location.search);
 if ( search!="" && search!="?" ) url= search.substring(1);  
</SCRIPT>  
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" >
 document.write('<SCRIPT LANGUAGE="JavaScript" SRC="' + url + '.js">';);
 document.write('</';);
 document.write('SCRIPT>';);  
</SCRIPT>  
</BODY>
</HTML>
 
 
fichier accueil.js
 
document.open();
document.write("<h1>Accueil</h1>" );
document.write("<a href='home.html?contenu1'>contenu 1</a><br>" );
document.write("<a href='home.html?contenu2'>contenu 2</a>" );
document.close();
 
fichier contenu1.js :
 
document.open();
document.write("<h1>Contenu 1</h1>" );
document.write("<a href='home.html'>Accueil</a><br>" );
document.write("<a href='home.html?contenu2'>contenu 2</a>" );
document.close();
 
Fichier contenu 2 :
 
document.open();
document.write("<h1>Contenu 2</h1>" );
document.write("<a href='home.html'>Accueil</a><br>" );
document.write("<a href='home.html?contenu1'>contenu 1</a>" );
document.close();
 
j'ai testé tout ça sous w2000 Server Us  
avec  :

  • ie6 us  
  • Mozilla 1.0  

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530

  • Netscape 6.2.3

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3  

  • Netscape® Navigator 4.08  


Etant donné que la page home.html s'appelle elle-même, la version en cache devrait être utilisée.
 
Ceci dit, j'ai du mal à comprendre l'interêt de la chose, puisque, même si la page n'est pas chargée à chaque contenu affiché, les fichiers .js eux le sont et sont plus lourds que leur version en html puisque qu'on ajoute le code js.
 
Néanmoins, c'est un bon exercice intelectuel  :pt1cable:  
 
Pascal

n°1760
paxcal
Profil : Membre
Posté le 27-08-2002 à 07:10:36  
 

Pour la page home.html le code suivant sera plus robuste.  
 
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE="javascript" >
 function checkUrl( sModuleName ){
   
  if ( sModuleName== null || sModuleName=="" ) return false;
   
   
  var moduleList = new Array(  
        new String( "contenu1" ) ,  
        new String( "contenu2" ) );
         
  for( i = 0 ; i< moduleList.length ; i++ ){    
   if( moduleList[ i ].toUpperCase().valueOf()  == sModuleName.toUpperCase().valueOf()){
    return true;
   }  
  }
  return false;
 }
 
 function getModule(){
  var search = new String( document.location.search);
  if ( search!="" &&  search.length>1 ) return search.substring(1);  
 
 }
 
 var moduleName = getModule();
 if(!checkUrl( moduleName )) moduleName="accueil";
 
 
</SCRIPT>  
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" >
 document.write('<SCRIPT LANGUAGE="JavaScript" SRC="' + moduleName + '.js">';);
 document.write('</';);
 document.write('SCRIPT>';);  
</SCRIPT>  
</BODY>
</HTML>

n°1763
Hinou
Possède blague a 2 balle a +10
Profil : Membre
Posté le 27-08-2002 à 10:02:44  
 

Je vois pas n'on plus l'interet ( enfin si je suis développeur allors les connerie dans ce genre je les fais aussi) alors que le php le fais si bien


---------------
Administer c'est bien développer c'est mieux
Créateur de l'association des "elfes de la forest" (balançage de troll en tous genre)
Créateur de l'anti-cs team (cs c'est un mod pas un jeux :na:)
n°1771
theclimax
hummmmmmm
Profil : Membre
Posté le 27-08-2002 à 12:29:27  
 

merci a toute vos reponse mais en fait g du mal m'exprimé
 
les lien ki change le "mot" en kestion sont interne a la page html, les fichier *.js ne sont ke du texte des images ...( des lien aussi mais bon)  
 
j refé mon exemple :
 
imaginont a la base sur mon index ceci
<script language="JavaScript" src="accueil.js">
</script>
 
donc ma page d'accueil avc c tableau c image le menu etc et o millieu c script affichant le texte (( bienvenue sur ......))
en fait le but est ke le visiteur en clikan sur un lien de la page change le fichier *.js inseré dans ma page. ainsi une seule page avec des appel o fichier *.js
 
j'espere ke vous voyer c ke j veut dire
oué j v m penché sur le php ca doit etre pas mal aussi
en tt cas merci a tous et votre metier c c ke j veut faire + tard ;)  
 


---------------
merkiiiiiiii
n°1773
Hinou
Possède blague a 2 balle a +10
Profil : Membre
Posté le 27-08-2002 à 12:39:08  
 

Quoi tu veux faire glandeur ah bah bravo
 
 
Sinon pour ta ptite info (et ton ptit problème) faut que tu créer plusieur code selon les browser utilisé  
 
 
pour Ie le mieux c'est un innerHTML pour modifier y a pas mieux  
 
pour netscape tu as un layer.document.write("le texte" ) qui aide
 
mais sinon y a des chance que tu sois obliger de retaper tout ta page du genre
 
 
chaine=" <html> blallba +mot a changer+ blabla bla</html>"
 
enfin en gros tu peut par exemple via un system de commentaire et d'identifiant reduire le code mais bon le .js vas etre tres long a charger tou sa pour que le visiteur est ton site entièrement (image a part) chez lui


---------------
Administer c'est bien développer c'est mieux
Créateur de l'association des "elfes de la forest" (balançage de troll en tous genre)
Créateur de l'anti-cs team (cs c'est un mod pas un jeux :na:)
n°1780
cil20
Profil : Membre
Posté le 27-08-2002 à 14:54:59  
 

je pense aussi que php est mieux à même de remplir cette tâche ; sinon évite innerHTML : c'est MS-propriétaire, et même si Netscape-Moz l'implémente il est préférable de trouver autre chose, en utilisant un DOM rigoureux.
 
Si tu veux mon avis, ce que tu cherche à faire serait plus facilement réalisable en xml, sauf qu'il est préférable d'attendre un peu : pour IE6 pas de pb, pour moz je crois que ça va, mais Netscape6 aura des pb, idem pour Opera6.
 
Mais bon en réfléchissant un peu, XHTML+DOM devrait convenir (par contre aucune chance de faire marcher ça sous Opera 6 : il ne peut pas modifier la structure ou le contenu d'un doc html).

n°1785
Hinou
Possède blague a 2 balle a +10
Profil : Membre
Posté le 27-08-2002 à 17:16:33  
 

pourquoi s'enquiquiner avec un dom alors que les navigateur implemente des object utiles ?
 
 
 
 
 
(Si tu as envi de faire un rappel sur les DOM n'esite pas g peur d'avoir de lacunes):)


Message édité par Hinou le 27-08-2002 à 17:17:26

---------------
Administer c'est bien développer c'est mieux
Créateur de l'association des "elfes de la forest" (balançage de troll en tous genre)
Créateur de l'anti-cs team (cs c'est un mod pas un jeux :na:)
n°1860
cil20
Profil : Membre
Posté le 01-09-2002 à 15:27:35  
 

le pb de innerHTML c'est que puisqu'il est propriétaire il y a peu de chance qu'il soit un jour implémenté dans d'autres navigateurs. Bon, je sais, avec Moz-NN et IE on couvre à peu près tout le monde, mais l'idée d'obliger un internaute à utiliser un navigateur particulier juste parce qu'on ne suit pas les normes, je trouve pas ça top.
 
En plus, si le DOM Working Group ne l'a tjr pas adopté, c'est sûrement pour un problème précis. Je suis vraiment pas un expert dans le domaine, mais j'imagine qu'il peut y avoir des doutes sur le contenu appelé par cette méthode. Il est donc envisageable qu'il soit un jour abandonné...  
 
Pour en revenir au pb de départ, j'ai vraiment besoin qu'on m'explique ; je dois être très stupide mais pkoi ne pas utiliser une bête iframe ? c'est dans les normes (même si le W3C déconseille l'utilisation de frames pour des raisons d'accessibilité aux handicapés visuels et d'interprétation par le navigateurs des différentes frames et des actions sur chacune [genre comment gérer l'historique d'un site à frames, etc.]), et ça sert à çà, non ? Avec une css externe bien faite, tes fichiers seront très légers et le rechargement sera rapide. InnerHTML et cie ou les équivalents "DOM-compliant" sont fait pour manipuler une petite portion du code source, pas des paragraphes entiers.
 
PS :

  • pour remplacer innerText en restant compatible avec les normes il faut utiliser normalize( )  pour s'assurer qu'un contenu (texte brut) de balise est considéré comme un seul bloc (correction d'une erreur commune à IE et Moz, je crois), removeChild(firstChild) pour effacer le contenu et appendChild(createTextNode(chaîne_de_caractère)) pour recréer du texte.
  • Pour remplacer innerHTML  c'est pareil mais il faut  considérer les différents enfants comme autant d'entités différentes (avec childNode[x] au lieu de firstChild).


PS2 : Opera 6 ne sait pas modifier le code source d'une page (DOM très peu implémenté).

  FORUM Rue-Montgallet.com
  Programmation
  Html

  help me truc trop important trop utile trop bien si on trouve !!!

© 2000-2024 Forum.rue-montgallet.com - Tous droits réservés