|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Bonjour à tous !
Je chercher à inclure une feuille CSS depuis un fichier JS. Je fait cela car la feuille CSS dépend de paramètres côté client, donc c'est de la post-inclusion mais cela fonctionne, voici mon code : Code :
Le problème c'est que le "href" qu'il me créer est composé de : URL visitée + path + "/css/style.css". Et forcément suivant l'URL visitée ça ne fonctionne pas toujours... Quand je suis dans la Home : OK, mais quand je navigue et que je suis dans des dossiers, forcément l'URL complète de la CSS n'est plus valide. En bref si j'écris dans mon code : le lien qu'il me met n'est pas vide mais correspond à l'URL visitée... Et moi je voudrais pouvoir paramétrer moi même l'intégralité de ce lien... Je ne sais pas comment faire... Quelqu'un saurait comment faire cela ? Antoine
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 019 ![]() |
a toi de décompser l'url de la page vistée pour une conserver que la partie souhaitée ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Ben oui, c'est que je me suis dis, pas de problème, mais je peux pas définir quelques chose en dur dans cette variable, puisqu'il va toujours me rajouté l'url visitée au début de la variable...
Il le fait après j'imagine... Je fais un petit test, je post desuite !
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
|
|
00
|
|
|
#4 | ||
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Mettons je fait ça :
Code :
URL visitée + contenu de foo + contenu de path + "/css/style.css" Donc j'ai pas moyen d'assigner entiérement moi même ce href... Enfin je sais pas comment du moins... !
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
||
|
|
00
|
|
|
#5 | ||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 019 ![]() |
Code :
![]() ça sert à quoi ? je n'ai pas encore compris ce qui e gène ... tu veux quoi dans ton href ???
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
||
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
J'imagine que tous tes fichiers CSS sont au même endroit, dans ce cas, autant passer par une URL absolue
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#7 | |
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Citation:
[EDIT] : et cette URL visitée elle change donc je ne peux pas la prévoir...
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
|
|
|
00
|
|
|
#8 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 019 ![]() |
oui mais il te faut reduire l'url de la page visitée ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Je peux pas... il me la rajoute après, c'est pas comme si elle étais iniialisé et que je pouvais la bouger...
En gros moi je met ce que je veux dans cette variable, au moment de s'exécuter le script ajoute l'url visitée au début...
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
|
|
00
|
|
|
#10 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 019 ![]() |
c'est clair comme du jus de chaussettes ...
tu le recupères ou le path ????
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#11 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Code :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#12 | ||||||
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Bon je reprend :
Je suis obligé de faire l'inclusion de mon CSS côté client, donc en JS, je vous passe le pourquoi... Pour faire l'inclusion, si on veux le faire propre, on fait comme ça, enfin d'après ce que j'ai compris... : Code :
Je sais pas vous mais moi je m'attends à voir Hé bé non !!!! J'ai à la place : Alors ça marche parce que monStyle.css est dans le répertoire site. Je réexécute mon JS à un autre endroit du site (en fait à chaque page), et j'obtiens : Code :
Du coup je cherche à mettre l'URL absolue de mon CSS, bonne idée ? : Code :
Code :
localhost/site/localhost/site/monStyle.css Code :
localhost/site/topics/localhost/site/monStyle.css Je sais pas si vous avez une solution, mais vous avez compris le problème ?
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
||||||
|
|
00
|
|
|
#13 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 019 ![]() |
donc un split / sur le href et un lenght du tableau obtenu te permettra de rajouter le bon nombre de ../ à rajouter devant le path
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Oué, c'est pas d'une élégance folle mais au moins ça devrait marcher...
Merci
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Comme j'ai essayé de te le faire comprendre dans mes précédentes réponses, l'URL que tu indiques est une URL relative, donc qui dépend de ta position dans l'arborescence, d'autant que dans la syntaxe
Code :
cssNode.href = "localhost/site/monStyle.css"; Il te faut donc passer par une URL absolue soit en remplaçant localhost par "/" soit en précisant que tu cherches localhost sur le protocole http : Code :
cssNode.href = "http://localhost/site/monStyle.css";
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#16 |
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Ah oui en effet Bovino, je ne mettais pas le protocole mais Js est intelligent donc si je le met, il rajoute rien... Bon c'est un peu brutal mais ça tourne !!
Je te remercie
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
|
|
00
|
|
|
#17 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Personnellement, j'aurais choisi l'autre solution (juste un slash) parce que j'imagine que ton site est destiné à être hébergé, donc si tu veux garder ton code en local pour les tests et hébergé pour la production, tu devras à chaque fois changer le localhost et le nom de domaine, si tu mets juste un slash "/", le code sera le même dans toutes les configurations.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#18 |
|
Membre régulier
![]() Antoine Développeur Web Inscription : avril 2007 Messages : 202 ![]() |
Oui oui en effet mais comme je suis sous Drupal, je peux faire envoyé depuis le serveur l'URL d'installation, donc j'ai moyen de reconstruire à chaque fois l'URL complète de ma CSS !
Au final les deux solutions revienne au même, enfin à ceci prêt que je doive faire envoyé un paramètre... donc oui tu as raison, le / seul suffit et devrait être opérationnel dans tout les contextes ! Merci !
__________________
"Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire." Voltaire |
|
|
00
|
|
|
#19 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 019 ![]() |
tu aurais pu aussi concaténer le path coté serveur ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#20 | ||
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
perso j'ai dans mes serveur un code qui retourne toujours l'url de base de mon appli par exemple
http://mon.appli.com/ pour rn dev http://localhost/monAppli/ je m'en sert tant côté serveur que côté client pour la passer au client j'ai un objet json que je position dans ma page Code :
monAppli = <?php echo json_encode($myApp); ?> du coup tout mes urls sont absolue il me suffit en js d'utiliser dans ton exemple ça donnerait Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com