Salut,
Afin d'optimiser le code HTML (meilleur r�f�rencement) de mes pages, je voudrais externaliser le code javascript g�n�r� pour le fonctionnement des page.
Avez-vous une id�e de comment faire?
Merci
A+
Version imprimable
Salut,
Afin d'optimiser le code HTML (meilleur r�f�rencement) de mes pages, je voudrais externaliser le code javascript g�n�r� pour le fonctionnement des page.
Avez-vous une id�e de comment faire?
Merci
A+
Comme ca je dirais, recuperer le HTML avant qu'il ne soit envoye au navigateur et avec une expression reguliere prendre le javascript entre balise <script>
peut-etre que je n'ai pas bien compris, mais � mon sens un
dans la source HTML devrait suffire...Code:<script src="toto.js"></script>
Si ce n'est pas ce que tu cherches, peux-tu pr�ciser ta demande ?
merci
Nico
il voudrait externaliser le code javascript g�n�r�.
Le framework genere du javascript pour le comportement de differents controles.
ah ok, ... d�sol�... :D
moi ce que je ne comprends pas c'est le rapport entre optimisation du code html et meilleur r�f�rencement...
Salut,C'est une id�e.Tout � fait.
Ben c'est une info fournie par le marketing de ma bo�te. L'explication est relativement simple en fait. Plus le code est utile pour le r�f�rencement plus il doit �tre facile � lire. M�me si il s'agit de robots, les moteurs de recherche n'aiment apparement pas chercher les textes � r�f�rencer au milieux d'un code sale (plein de javascript, CSS et j'en passe).
J'ai ainsi appris que le code g�n�rant une banni�re publicitaire devrait se trouver en bas de page et plac�e plus haut de mani�re absolue ou fixe.
A+
Tout ce qu'il est raisonnable de faire pour nettoyer le code de mes pages. Pour les curieux un lien vers les tutos SEO de Developpez.
Comment externaliser le code javascript qui est g�n�r� pour les LinkButton, les Validators par exemple? Comment peut-on �viter d'avoir �a � l'interieur du "body" de la page?A+Code:
1
2
3
4
5
6
7
8 <script type="text/javascript"> //<![CDATA[ function WebForm_OnSubmit() { if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false; return true; } //]]> </script>
Alors la...
Si vraiment tu veux virer ce type de code, oublie les validateurs "de base", et passe par un framework type jquery
http://docs.jquery.com/Plugins/Validation
Mais la, je pense que ca va chercher un peu loin ;)
Sinon, jettes un oeil a cet article :
http://www.codeproject.com/KB/aspnet/10_SEO_Tips.aspx
Que pensez-vous des WebResource?
Non, le js interne du Framework on ne peut pas y toucher j'imagine (pas trop d'int�r�t non plus). Mais pourquoi ne pas utiliser les webresource pour remplacer les validators par exemple?
Je cherche une solution pour avoir le moins de js dans ma page, que du code utile pour le r�f�rencement.
Bah dans ce cas la, je pense qu'il faut virer les validateurs asp.net, et les remplacer par des validateurs javascripts purs...
Et si plut�t que d'externaliser ces codes tu les regroupais ensemble en haut de ta page, pour les replacer ensuite, comme les banni�res que l'on place en bas de page pour les replacer ensuite ?
Ok, c'est vrai que le javscript est mal plac�. Ceci dit il se place tout seul alors pour le faire remonter �a ne va pas �tre simple. :? Vu que c'est du XHTML il suffirait de le parser. Au moment du Render.
Tant qu'� faire j'aimerai autant carr�ment externaliser le code (=> page moins lourde apr�s la premi�re requ�te, % de code utile plus �lev�, facilit� de lecture, ...)
Pourquoi ce que je proposes ne te convient pas ?
Tu prends le code HTML dans le rendre et avec des expression regulieres tu recupere tous code javascript.
C'est une solution interessante que je garde sous le coude. Mais je n'aime pas trop faire le m�nage. Je pr�fererais intervenir avant plut�t que de repasser apr�s.Comme il s'agit de XHTML, avec du XPath ou Linq to Xml cela devrait etre plus facile encore.
Merci :)
Pff, j'chuis nul en XPath...
Je suis sur ce bout de code pour modifier le code de ma page pendant le Render.J'arrive pas � s�l�ctionner que les �l�ments "script". L'expression "//script[@type='text/javascript']" ne renvoi jamais rien... :?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 protected override void Render(HtmlTextWriter writer) { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter hWriter = new HtmlTextWriter(sw); base.Render(hWriter); XmlDocument xd = new XmlDocument(); xd.LoadXml(sb.ToString()); sb.Remove(0, sb.Length); foreach (XmlNode xn in xd.ChildNodes) { Response.Write(xn.Name.ToString() + "<br />"); foreach (XmlElement xe in xn) { Response.Write(xe.Name.ToString() + "<br />"); foreach (XmlElement xxe in xe) { Response.Write(xxe.Name.ToString() + "<br />"); } } } Response.End(); }
Il faudrait que je copie les �l�ments "script" dans le stringbuilder avant de les enlever pour les recopier ailleurs ensuite. Le ailleurs n'est pas important pour le moment.
Quelqu'un a une id�e?
Merci d'avance.