Changer contenu de <head> avec JavaS

Résolu/Fermé
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 - 11 déc. 2009 à 20:44
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 - 12 déc. 2009 à 14:23
Bonjour,

Bon: je suis sur un site en AJAX, et donc lorsqu'on navigue dans le site le contenu de <div id="content"> est mis à jour avec la page correspondante. Maintenant, j'ai un problème: comment est ce que je fais si je veux pour une page particulière appeler une nouvelle feuille css, ou alors appeler un autre fichier .js ? Je vois pour l'instant qu'une solution :

Utiliser un genre de code en JavaScript pour mettre-à-jour <head>, mais alors comment je fais pour mettre à jour sans tout supprimer ce qu'il y a déjà ? Je peux pas mettre de <div id="head"> ou de truc dans le genre dans <head> pour le mettre à jour, donc à moins de mettre à jour la balise entière je vois mal comment faire... Et de toute façon est ce que c'est possible de modifier le header de la page sans la recharger? Enfin bref, voilà mon soucis, et si vous savez comment y remédier je suis preneur...

Merci d'avance!

5 réponses

Impli Messages postés 235 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 18 août 2013 34
11 déc. 2009 à 20:49
Tu dois recharger la page pour modifier le header.

Avec du javascript seulement, tu ne peux pas modifier un header, vu que javascript s'execute côté client et que le header a déjà été traité.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
11 déc. 2009 à 20:56
Le HTML aussi est côté client et est déjà traiter à la fin du chargement de la page.
Pourtant, on peut le modifier
0
Impli Messages postés 235 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 18 août 2013 34 > avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024
11 déc. 2009 à 21:04
Dans ce cas c'est du DHTML, non ?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497 > Impli Messages postés 235 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 18 août 2013
11 déc. 2009 à 21:11
Oui.
0
Impli Messages postés 235 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 18 août 2013 34 > avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024
11 déc. 2009 à 21:14
Donc c'est JS qui modifie le HTML, pas le HTML qui se modifie lui même.

Et on ne peut pas modifier un header (même si c'est du HTML), une fois que la page est chargée, vu que le header sert au navigateur pour comprendre la page.
Entre modifier l'en-tête de la page, et sa structure, il y a de la marge.
0
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 62 > Impli Messages postés 235 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 18 août 2013
11 déc. 2009 à 21:40
Cela dit, en javascript on peut modifier les balises dans le header telles que <title>, et ca sans avoir à recharger... jviens d'avoir une idée, c'est possible d'attribuer un id. ou quelque chose à une balise <script> ou <style> ? Pour la modifier comme les <div> ?
0
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 62
11 déc. 2009 à 20:52
Hm... Et ya pas moyen de charger une autre feuille de style en cours de route? Il faut vraiment passer par le header?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
11 déc. 2009 à 22:42
@lmpli : désolé mais tu dis n'importe quoi.

La balise title est aussi utilisée pour savoir comment traiter la page, sauf que l'information est ici utile pour afficher quelque-chose dans la barre de titre du navigateur (généralement). Le head d'une page ne contient que des informations.

N'as-tu jamais entendu parler du" Dynamic Script Loading" ?
Je te renvois vers ce tuto, et je penses qu'il répondra à la question intitiale.
0
Impli Messages postés 235 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 18 août 2013 34
12 déc. 2009 à 09:48
Je me suis mal exprimé ...
Je parlais d'entête HTTP, pas du header HTML.
Lorqu'on fait une analyse d'une entête HTTP, la balise title n'est pas utilisée pour avoir les infos d'une page.
La balise title ne nous informe pas sur des choses essentielles au traitement de la page.
Même dans le cas du header HTML, l'absence des balises titles ne rendra pas l'exploitation de la page difficile, voire impossible. Contrairement à l'absence, ou à un mauvais charset, ou pire, à un doctype.


Pour le reste, j'utilise très rarement JS, j'essaie seulement de l'aiguiller avec les quelques brides d'informations que j'ai pu trouvé à droite et à gauche.
Mais le sujet peut être consideré comme résolu avec ce tuto.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 62
12 déc. 2009 à 14:23
Hm, je ne connaissais pas ça le Dynamic Script Loading, en tout cas très intéressant ce tuto, je crois que ca va le faire, merci beaucoup avion-f16 :)
0