Aller au contenu

Optimisation javascript


doomer2

Sujets conseillés

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.

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è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ée Tirancourt\">La Chaussé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éalcourt</option>'
       str+=' <option value=\"essai.php?commune=Mezerolles\">Mé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écamps\">Epé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éger les Domart\">Saint Lé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

Lien vers le commentaire
Partager sur d’autres sites

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 :

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

Modifié par Ernestine
Lien vers le commentaire
Partager sur d’autres sites

Tu n'es pas convaincu ? Faisons le calcul :

Entre ça :

str+=' <option value=\"essai.php?commune=Doullens\">Doullens</option>'

et

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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...