Version complète: sur le forum Webmaster Hub : Optimisation javascript
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Asp, Java, Cfm, autres.
doomer2
Bonsoir à tous,

Voilà j'ai fait un petit script en javascript qui me permet de rediriger des visiteurs mais voilà il fait prés de 9ko et je voudrais arriver à peu prés à la moitié c'est à dire 4ko ou 5ko.

CODE
var str='';
str+='<form>'
str+=' <select name=\"rubrique\" size=1 onchange=\"window.location = form.rubrique.options[form.rubrique.selectedIndex].value;\">'
str+=' <option selected="selected" value=\"\">-Selectionnez la commune-</option>'
 str+=' <option value=\"essai.php?commune=Authieule\">Authieule</option>'
       str+=' <option value=\"essai.php?commune=Doullens\">Doullens</option>'
       str+=' <option value=\"essai.php?commune=Beauval\">Beauval</option>'
       str+=' <option value=\"essai.php?commune=Beauquesne\">Beauquesne</option>'
       str+=' <option value=\"essai.php?commune=Terramesnil\">Terramesnil</option>'
       str+=' <option value=\"essai.php?commune=Grouches Luchuel\">Grouches-Luchuel</option>'
       str+=' <option value=\"essai.php?commune=Lucheux\">Lucheux</option>'
       str+=' <option value=\"essai.php?commune=Humbercourt\">Humbercourt</option>'
       str+=' <option value=\"essai.php?commune=Brevillers\">Brevillers</option>'
       str+=' <option value=\"essai.php?commune=Bouquemaison\">Bouquemaison</option>'
       str+=' <option value=\"essai.php?commune=Neuvillette\">Neuvillette</option>'
       str+=' <option value=\"essai.php?commune=Barly\">Barly</option>'
       str+=' <option value=\"essai.php?commune=Remaisnil\">Remaisnil</option>'
       str+=' <option value=\"essai.php?commune=Outrebois\">Outrebois</option>'
       str+=' <option value=\"essai.php?commune=Occoches\">Occoches</option>'
       str+=' <option value=\"essai.php?commune=Hem Hardinval\">Hen-Hardinval</option>'
       str+=' <option value=\"essai.php?commune=Gezaincourt\">Gezaincourt</option>'
       str+=' <option value=\"essai.php?commune=Longuevillette\">Longuevillette</option>'
       str+=' <option value=\"essai.php?commune=Beaumetz\">Beaumetz</option>'
       str+=' <option value=\"essai.php?commune=Vignacourt\">Vignacourt/></option>'
       str+=' <option value=\"essai.php?commune=Bernaville\">Bernaville</option>'
       str+=' <option value=\"essai.php?commune=Picquigny\">Picquigny</option>'
       str+=' <option value=\"essai.php?commune=Breilly\">Breilly</option>'
       str+=' <option value=\"essai.php?commune=St Sauveur\">St Sauveur</option>'
       str+=' <option value=\"essai.php?commune=Argoeuves\">Argoeuves</option>'
       str+=' <option value=\"essai.php?commune=Ailly/Somme\">Ailly/Somme</option>'
       str+=' <option value=\"essai.php?commune=Ferrieres\">Ferri&egrave;res</option>'
       str+=' <option value=\"essai.php?commune=Fourdrinoy\">Fourdrinoy</option>'
       str+=' <option value=\"essai.php?commune=Cavillon\">Cavillon</option>'
       str+=' <option value=\"essai.php?commune=Le Mesge\">Le Mesge</option>'
       str+=' <option value=\"essai.php?commune=Soues\">Soues</option>'
       str+=' <option value=\"essai.php?commune=Hangest/Somme\">Hangest/Somme</option>'
       str+=' <option value=\"essai.php?commune=Yzeux\">Yzeux</option>'
       str+=' <option value=\"essai.php?commune=Crouy St Pierre\">Crouy St Pierre</option>'
 str+=' <option value=\"essai.php?commune=Belloy/Somme\">Belloy/Somme</option>'
 str+=' <option value=\"essai.php?commune=Chauss&eacute;e Tirancourt\">La Chauss&eacute;e Tirancourt</option>'
 str+=' <option value=\"essai.php?commune=Bonneville\">Bonneville</option>'
 str+=' <option value=\"essai.php?commune=Prouville\">Prouville</option>'
 str+=' <option value=\"essai.php?commune=Fieffes Montrelet\">Fieffes Montrelet</option>'
       str+=' <option value=\"essai.php?commune=Berneuil\">Berneuil</option>'
       str+=' <option value=\"essai.php?commune=Candas\">Candas</option>'
       str+=' <option value=\"essai.php?commune=Gorges\">Gorges</option>'
       str+=' <option value=\"essai.php?commune=Fienvillers\">Fienvillers</option>'
       str+=' <option value=\"essai.php?commune=Autheux\">Autheux</option>'
 str+=' <option value=\"essai.php?commune=Boisbergues\">Boisbergues</option>'
       str+=' <option value=\"essai.php?commune=Le Meillard\">Le Meillard</option>'
       str+=' <option value=\"essai.php?commune=Domesmont\">Domesmont</option>'
       str+=' <option value=\"essai.php?commune=Agenville\">Agenville</option>'
       str+=' <option value=\"essai.php?commune=Bernatre\">Bernatre</option>'
       str+=' <option value=\"essai.php?commune=Bealcourt\">B&eacute;alcourt</option>'
       str+=' <option value=\"essai.php?commune=Mezerolles\">M&eacute;zerolles</option>'
       str+=' <option value=\"essai.php?commune=Frohen le Grand\">Frohen le grand</option>'
       str+=' <option value=\"essai.php?commune=Frohen le Petit\">Frohen le Petit</option>'
 str+=' <option value=\"essai.php?commune=Montigny les Jongleurs\">Montigny les Jongleurs</option>'
 str+=' <option value=\"essai.php?commune=Maizicourt\">Maizicourt</option>'
       str+=' <option value=\"essai.php?commune=Saint Acheul\">Saint Acheul</option>'
       str+=' <option value=\"essai.php?commune=Ep&eacute;camps\">Ep&eacute;camps</option>'
       str+=' <option value=\"essai.php?commune=Heuzecourt\">Heuzecourt</option>'
   str+=' <option value=\"essai.php?commune=Pernois\">Pernois</option>'
       str+=' <option value=\"essai.php?commune=Canaples\">Canaples</option>'
       str+=' <option value=\"essai.php?commune=Havernas\">Havernas</option>'
       str+=' <option value=\"essai.php?commune=Halloy Les Pernois\">Halloy</option>'
 str+=' <option value=\"essai.php?commune=Berteaucourt Les Dames\">Berteaucourt les Dames</option>'
       str+=' <option value=\"essai.php?commune=Franqueville\">Franqueville</option>'
       str+=' <option value=\"essai.php?commune=Ribeaucourt\">Ribeaucourt</option>'
       str+=' <option value=\"essai.php?commune=Domart En Ponthieu\">Domart en Ponthieu</option>'
   str+=' <option value=\"essai.php?commune=Saint Ouen\">St Ouen</option>'
       str+=' <option value=\"essai.php?commune=Bettencourt St Ouen\">Bettencourt St Ouen</option>'
   str+=' <option value=\"essai.php?commune=Ville le Marclet\">Ville le Marclet</option>'
       str+=' <option value=\"essai.php?commune=Flixecourt\">Flixecourt</option>'
       str+=' <option value=\"essai.php?commune=L\'Etoile\">L\'Etoile</option>'
       str+=' <option value=\"essai.php?commune=Bouchon\">Bouchon</option>'
       str+=' <option value=\"essai.php?commune=Vauchelles les Domart\">Vauchelles les Domart</option>'
       str+=' <option value=\"essai.php?commune=Surcamps\">Surcamps</option>'
       str+=' <option value=\"essai.php?commune=St L&eacute;ger les Domart\">Saint L&eacute;ger les Domart</option>'
 str+=' <option value=\"essai.php?commune=Saisseval\">Saisseval</option>'
 str+=' <option value=\"essai.php?commune=Seux\">Seux</option>'

str+=' </select>'
str+=' </form>'
document.write(str)


En espérant avoir de nouvelles.

merci à tous
Ernestine
Salut,
Je ne suis pas une pro, loin de là, mais je pense que tu gagnerais beaucoup à enregistrer toutes ces villes dans un tableau, et d'écrire les options de la liste avec une boucle. Ce qui donnerait ceci :
CODE
var str='';
str+='<form>'
tableau = new Array("Bordeaux", "Nantes", "Toulouse", "Paris", "Reims");
str+=' <select name=\"rubrique\" size=1 onchange=\"window.location = form.rubrique.options[form.rubrique.selectedIndex].value;\">'
str+=' <option selected="selected" value=\"\">-Selectionnez la commune-</option>'

for (var i=0; i<tableau.length; i=i+1) {
    var ville = tableau[i]
    str += "<option value=\"essai.php?commune=" + ville + "\">" + ville + "</option>"
    }

str+=' </select>'
str+=' </form>'
document.write(str)

Dans cet exemple j'ai pris cinq villes (Bordeaux, Nantes, Toulouse, Paris, Reims), à toi d'inclure celles que tu souhaites.
Au plaisir,
Ernestine
doomer2
J'ai pres de 78 villes à mettre, est ce vraiment optimiser de mettre tous cel dans un tableau ?

Je vais tester mais je ne sais pas si cela va reduire la taille de mon fichier.
Ernestine
Tu n'es pas convaincu ? Faisons le calcul :
Entre ça :
CODE
str+=' <option value=\"essai.php?commune=Doullens\">Doullens</option>'
et
CODE
Doullens

Il y a 62 octets de différence. Tu gagnes donc à peu près 62 octets par ville. Il y en a 78, et 62*78=4836. Tu gagnes donc à peu près 5 ko sur un script de 10 ko, soit près de la moitié !
Mon calcul est approximatif, mais je ne dois pas être très loin du résultat...
A bientôt,
Ernestine
petit-ourson
Je déborde un peu de sujet ... mais tout cela sera accessible ?
Xavier
Sans javascript surement pas sad.gif
doomer2
Bien sur que si, j'ai une partie en javascript et unepartie en PHP.

Tout cela sera accessible !!!
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.