Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 96 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
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  profilanswer
 

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
n°1759
paxcal
Profil : Membre
Posté le 27-08-2002 à 06:49:49  profilanswer
 

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  profilanswer
 

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  profilanswer
 

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  profilanswer
 

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  profilanswer
 

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  profilanswer
 

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  profilanswer
 

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  profilanswer
 

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é).


Aller à :
Ajouter une réponse