Je suis confronté à un problème de chemin de fichier images dans les
fichiers js, problème qui n'existe pas dans les fichiers css.
Soit :
- mon_site/images/ dossier contenant les images
référencées dans les fichiers ci-dessous
- mon_site/css/lightbox.css (Fichier css)
- mon_site/js/lightbox.js (Fichier javascript)
Dans lightbox.css, on a, par exemple :
.lb-prev:hover {
background: url(../images/prev.png) left 48% no-repeat;
}
Dans lightbox.js, on a, par exemple :
function LightboxOptions() {
this.fileLoadingImage = '../images/loading.gif';
this.fileCloseImage = '../images/close.png';
Dans les deux cas, les chemins des images sont bien en chemin relatif au
dossier où sont les fichiers css et js.
Si je charge les deux fichiers css et js à partir d'une page
"mon_site/test/essais_images.php", tout se passe bien et les images sont
correctement chargées tant par le css que par le js.
Si je charge les deux fichiers css et js à partir d'une page située à un
niveau d'arborescence supérieur, par exemple à partir de
"mon_site/vilgenis/80-83/ma_page.php", seules les images css sont bien
chargées alors que les images js ne le sont pas.
Quel que soit le niveau d'arborescence de la page, le chemin des images
css est bien vu en relatif par rapport à l'endroit où se trouve ledit
fichier css.
Ce n'est pas le cas pour les images des fichiers js dont le chemin est
vu par rapport à l'endroit où se trouve la page appelante ; j'en veux
pour preuve que si je modifie le fichier js comme suit :
function LightboxOptions() {
this.fileLoadingImage = '../../../images/loading.gif';
this.fileCloseImage = '../../../images/close.png';
les images du fichier js sont alors bien chargées à partir de
"mon_site/vilgenis/80-83/ma_page.php".
Existe-t-il une méthode pour dire à Javascript que le chemin des images
est relatif à la position du fichier contenant le script et non pas
relatif au chemin de la page appelante.
--
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit nouveau,
même si c'est pire qu'avant et cela de toute évidence. Montherlant
Technologie aéronautique - http://ottello.net - Les anciens de Vilgénis
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred
Le 23/05/2012 16:33, Dominique Ottello a écrit :
Existe-t-il une méthode pour dire à Javascript que le chemin des images est relatif à la position du fichier contenant le script et non pas relatif au chemin de la page appelante.
Bonjour,
Je ne pense pas que ce soit prévu dans JavaScript.
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut mieux utiliser des chemins absolus. Les pages seront déplaçables ou copiables sans avoir à se demander si c'est le bon chemin relatif.
Fred
Le 23/05/2012 16:33, Dominique Ottello a écrit :
Existe-t-il une méthode pour dire à Javascript que le chemin des images
est relatif à la position du fichier contenant le script et non pas
relatif au chemin de la page appelante.
Bonjour,
Je ne pense pas que ce soit prévu dans JavaScript.
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages
pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut
mieux utiliser des chemins absolus.
Les pages seront déplaçables ou copiables sans avoir à se demander si
c'est le bon chemin relatif.
Existe-t-il une méthode pour dire à Javascript que le chemin des images est relatif à la position du fichier contenant le script et non pas relatif au chemin de la page appelante.
Bonjour,
Je ne pense pas que ce soit prévu dans JavaScript.
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut mieux utiliser des chemins absolus. Les pages seront déplaçables ou copiables sans avoir à se demander si c'est le bon chemin relatif.
Fred
Dominique Ottello
Fred écrivait :
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut mieux utiliser des chemins absolus. Les pages seront déplaçables ou copiables sans avoir à se demander si c'est le bon chemin relatif.
Pour moi, c'est une très mauvaise solution, car il va encore falloir trouver une combine pour modifier les chemins absolu entre le développement en local et le transfert sur site réel.
Y'a pas l'équivalent Javascript de $_SERVER['DOCUMENT_ROOT'] en php ?
Ce qui permettrait de coder :
function LightboxOptions() { this.fileLoadingImage=$_SERVER['DOCUMENT_ROOT'].'/images/loading.gif'; this.fileCloseImage= $_SERVER['DOCUMENT_ROOT'].'/images/close.png';
Fred <fr-icsr@numericable.fr> écrivait :
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages
pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut
mieux utiliser des chemins absolus.
Les pages seront déplaçables ou copiables sans avoir à se demander si
c'est le bon chemin relatif.
Pour moi, c'est une très mauvaise solution, car il va encore falloir
trouver une combine pour modifier les chemins absolu entre le
développement en local et le transfert sur site réel.
Y'a pas l'équivalent Javascript de $_SERVER['DOCUMENT_ROOT'] en php ?
Ce qui permettrait de coder :
function LightboxOptions() {
this.fileLoadingImage=$_SERVER['DOCUMENT_ROOT'].'/images/loading.gif';
this.fileCloseImage= $_SERVER['DOCUMENT_ROOT'].'/images/close.png';
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut mieux utiliser des chemins absolus. Les pages seront déplaçables ou copiables sans avoir à se demander si c'est le bon chemin relatif.
Pour moi, c'est une très mauvaise solution, car il va encore falloir trouver une combine pour modifier les chemins absolu entre le développement en local et le transfert sur site réel.
Y'a pas l'équivalent Javascript de $_SERVER['DOCUMENT_ROOT'] en php ?
Ce qui permettrait de coder :
function LightboxOptions() { this.fileLoadingImage=$_SERVER['DOCUMENT_ROOT'].'/images/loading.gif'; this.fileCloseImage= $_SERVER['DOCUMENT_ROOT'].'/images/close.png';
Dominique Ottello
Dominique Ottello écrivait :
Y'a pas l'équivalent Javascript de $_SERVER['DOCUMENT_ROOT'] en php ?
J'ai trouvé un remplacement possible :
Ajout d'une variable :
var root = location.protocol + '//' + location.host;
Puis adjonction de cette variable dans les chemins :
Pour le moment, essayé seulement en local, mais ça devrait fonctionner aussi sur le site réel. -- Un « manuel » est un « intellectuel » qui sait se servir de ses mains.
Pour le moment, essayé seulement en local, mais ça devrait fonctionner
aussi sur le site réel.
--
Un « manuel » est un « intellectuel » qui sait se servir de ses mains.
Pour le moment, essayé seulement en local, mais ça devrait fonctionner aussi sur le site réel. -- Un « manuel » est un « intellectuel » qui sait se servir de ses mains.
Fred
Le 23/05/2012 18:17, Dominique Ottello a écrit :
Pour moi, c'est une très mauvaise solution, car il va encore falloir trouver une combine pour modifier les chemins absolu entre le développement en local et le transfert sur site réel.
Pas sur. Il faut donner le chemin vu du client http: '/images/loading.gif' doit suffire à condition qu'en local, 'images', soit au même emplacement (toujours vu du client http).
var root = location.protocol + '//' + location.host;
Puis adjonction de cette variable dans les chemins :
ce n'est pas nécessaire, l'url du serveur est pris par défaut
Le 23/05/2012 18:17, Dominique Ottello a écrit :
Pour moi, c'est une très mauvaise solution, car il va encore falloir
trouver une combine pour modifier les chemins absolu entre le
développement en local et le transfert sur site réel.
Pas sur. Il faut donner le chemin vu du client http:
'/images/loading.gif' doit suffire à condition qu'en local, 'images',
soit au même emplacement (toujours vu du client http).
var root = location.protocol + '//' + location.host;
Puis adjonction de cette variable dans les chemins :
Pour moi, c'est une très mauvaise solution, car il va encore falloir trouver une combine pour modifier les chemins absolu entre le développement en local et le transfert sur site réel.
Pas sur. Il faut donner le chemin vu du client http: '/images/loading.gif' doit suffire à condition qu'en local, 'images', soit au même emplacement (toujours vu du client http).
var root = location.protocol + '//' + location.host;
Puis adjonction de cette variable dans les chemins :
ce n'est pas nécessaire, l'url du serveur est pris par défaut
SAM
Le 23/05/12 16:33, Dominique Ottello a écrit :
Bonjour,
Je suis confronté à un problème de chemin de fichier images dans les fichiers js, problème qui n'existe pas dans les fichiers css.
Soit : - mon_site/images/ dossier contenant les images référencées dans les fichiers ci-dessous - mon_site/css/lightbox.css (Fichier css) - mon_site/js/lightbox.js (Fichier javascript)
Dans lightbox.css, on a, par exemple :
.lb-prev:hover { background: url(../images/prev.png) left 48% no-repeat; }
Dans lightbox.js, on a, par exemple :
function LightboxOptions() { this.fileLoadingImage = '../images/loading.gif'; this.fileCloseImage = '../images/close.png';
Dans les deux cas, les chemins des images sont bien en chemin relatif au dossier où sont les fichiers css et js.
non
enfin ... oui c'est bien le cas mais ...
il n'y a que les fichiers de CSS qui en tiennent compte (les images y ont leur chemin relativement à l'emplacement du fichier de css)
en JS le relatif sera par rapport à la page html où est inséré le fichier JS donc ... en JS, passer par le relatif par rapport à la racine du site ("/" ou "./") this.fileLoadingImage = '/images/loading.gif'; ou, au pire, en absolu this.fileLoadingImage = 'http://monSite/images/loading.gif';
-- Stéphane Moriaux avec/with iMac-intel
Le 23/05/12 16:33, Dominique Ottello a écrit :
Bonjour,
Je suis confronté à un problème de chemin de fichier images dans les
fichiers js, problème qui n'existe pas dans les fichiers css.
Soit :
- mon_site/images/ dossier contenant les images
référencées dans les fichiers ci-dessous
- mon_site/css/lightbox.css (Fichier css)
- mon_site/js/lightbox.js (Fichier javascript)
Dans lightbox.css, on a, par exemple :
.lb-prev:hover {
background: url(../images/prev.png) left 48% no-repeat;
}
Dans lightbox.js, on a, par exemple :
function LightboxOptions() {
this.fileLoadingImage = '../images/loading.gif';
this.fileCloseImage = '../images/close.png';
Dans les deux cas, les chemins des images sont bien en chemin relatif au
dossier où sont les fichiers css et js.
non
enfin ... oui c'est bien le cas mais ...
il n'y a que les fichiers de CSS qui en tiennent compte
(les images y ont leur chemin relativement à l'emplacement du fichier de
css)
en JS le relatif sera par rapport à la page html où est inséré le fichier JS
donc ... en JS, passer par le relatif par rapport à la racine du site
("/" ou "./")
this.fileLoadingImage = '/images/loading.gif';
ou, au pire, en absolu
this.fileLoadingImage = 'http://monSite/images/loading.gif';
Je suis confronté à un problème de chemin de fichier images dans les fichiers js, problème qui n'existe pas dans les fichiers css.
Soit : - mon_site/images/ dossier contenant les images référencées dans les fichiers ci-dessous - mon_site/css/lightbox.css (Fichier css) - mon_site/js/lightbox.js (Fichier javascript)
Dans lightbox.css, on a, par exemple :
.lb-prev:hover { background: url(../images/prev.png) left 48% no-repeat; }
Dans lightbox.js, on a, par exemple :
function LightboxOptions() { this.fileLoadingImage = '../images/loading.gif'; this.fileCloseImage = '../images/close.png';
Dans les deux cas, les chemins des images sont bien en chemin relatif au dossier où sont les fichiers css et js.
non
enfin ... oui c'est bien le cas mais ...
il n'y a que les fichiers de CSS qui en tiennent compte (les images y ont leur chemin relativement à l'emplacement du fichier de css)
en JS le relatif sera par rapport à la page html où est inséré le fichier JS donc ... en JS, passer par le relatif par rapport à la racine du site ("/" ou "./") this.fileLoadingImage = '/images/loading.gif'; ou, au pire, en absolu this.fileLoadingImage = 'http://monSite/images/loading.gif';
-- Stéphane Moriaux avec/with iMac-intel
SAM
Le 23/05/12 18:17, Dominique Ottello a écrit :
Fred écrivait :
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut mieux utiliser des chemins absolus. Les pages seront déplaçables ou copiables sans avoir à se demander si c'est le bon chemin relatif.
Pour moi, c'est une très mauvaise solution, car il va encore falloir trouver une combine pour modifier les chemins absolu entre le développement en local et le transfert sur site réel.
Y'a pas l'équivalent Javascript de $_SERVER['DOCUMENT_ROOT'] en php ?
ben ... si ... y a le bête html !!!!
à force de jongler avec le php on en oublie ses bases ?
le "root" est y : / (slash tout seul)
(comme sous Linux par exemple)
chemin relatif à la racine : image dans dossier 'images" à la racine du site : <img src="/images/vue_1.htm" alt="">
chemin relatif à la "page" : image dans dossier 'images' au niveau supérieur (dossier voisin quoi) : <img src="../images/vue_1.htm" alt="">
-- Stéphane Moriaux avec/with iMac-intel
Le 23/05/12 18:17, Dominique Ottello a écrit :
Fred<fr-icsr@numericable.fr> écrivait :
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages
pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut
mieux utiliser des chemins absolus.
Les pages seront déplaçables ou copiables sans avoir à se demander si
c'est le bon chemin relatif.
Pour moi, c'est une très mauvaise solution, car il va encore falloir
trouver une combine pour modifier les chemins absolu entre le
développement en local et le transfert sur site réel.
Y'a pas l'équivalent Javascript de $_SERVER['DOCUMENT_ROOT'] en php ?
ben ... si ... y a le bête html !!!!
à force de jongler avec le php on en oublie ses bases ?
le "root" est y : / (slash tout seul)
(comme sous Linux par exemple)
chemin relatif à la racine :
image dans dossier 'images" à la racine du site :
<img src="/images/vue_1.htm" alt="">
chemin relatif à la "page" :
image dans dossier 'images' au niveau supérieur (dossier voisin quoi) :
<img src="../images/vue_1.htm" alt="">
Dans ton cas, s'il n'y a qu'un dossier image, js et css, et des pages pouvant être dans plusieurs niveau de dossiers, je pense qu'il vaut mieux utiliser des chemins absolus. Les pages seront déplaçables ou copiables sans avoir à se demander si c'est le bon chemin relatif.
Pour moi, c'est une très mauvaise solution, car il va encore falloir trouver une combine pour modifier les chemins absolu entre le développement en local et le transfert sur site réel.
Y'a pas l'équivalent Javascript de $_SERVER['DOCUMENT_ROOT'] en php ?
ben ... si ... y a le bête html !!!!
à force de jongler avec le php on en oublie ses bases ?
le "root" est y : / (slash tout seul)
(comme sous Linux par exemple)
chemin relatif à la racine : image dans dossier 'images" à la racine du site : <img src="/images/vue_1.htm" alt="">
chemin relatif à la "page" : image dans dossier 'images' au niveau supérieur (dossier voisin quoi) : <img src="../images/vue_1.htm" alt="">
-- Stéphane Moriaux avec/with iMac-intel
Dominique Ottello
SAM écrivait :
à force de jongler avec le php on en oublie ses bases ?
le "root" est y : / (slash tout seul)
Exactement ce que je me suis dit hier à 19h 15, peu après la réponse de Fred. J'ai même ajouté « Quel imbécile - c'est pas le mot exact qui fut employé - je fais ! » En fin de compte, c'est la comparaison avec les fichiers css qui m'a fait oublier les « bases / ./ et ../ ». Je vais ajouté résolu dans le sujet, je ne sais pas ce que ça va donner pour le fil. -- Il vaut mieux ignorer où l'on est, et savoir qu'on l'ignore, que de se croire avec confiance où l'on n'est pas. Jean Dominique Cassini. Technologie aéronautique - http://ottello.net - Les anciens de Vilgénis
SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> écrivait :
à force de jongler avec le php on en oublie ses bases ?
le "root" est y : / (slash tout seul)
Exactement ce que je me suis dit hier à 19h 15, peu après la réponse de
Fred. J'ai même ajouté « Quel imbécile - c'est pas le mot exact qui fut
employé - je fais ! »
En fin de compte, c'est la comparaison avec les fichiers css qui m'a
fait oublier les « bases / ./ et ../ ».
Je vais ajouté résolu dans le sujet, je ne sais pas ce que ça va donner
pour le fil.
--
Il vaut mieux ignorer où l'on est, et savoir qu'on l'ignore, que de se
croire avec confiance où l'on n'est pas. Jean Dominique Cassini.
Technologie aéronautique - http://ottello.net - Les anciens de Vilgénis
à force de jongler avec le php on en oublie ses bases ?
le "root" est y : / (slash tout seul)
Exactement ce que je me suis dit hier à 19h 15, peu après la réponse de Fred. J'ai même ajouté « Quel imbécile - c'est pas le mot exact qui fut employé - je fais ! » En fin de compte, c'est la comparaison avec les fichiers css qui m'a fait oublier les « bases / ./ et ../ ». Je vais ajouté résolu dans le sujet, je ne sais pas ce que ça va donner pour le fil. -- Il vaut mieux ignorer où l'on est, et savoir qu'on l'ignore, que de se croire avec confiance où l'on n'est pas. Jean Dominique Cassini. Technologie aéronautique - http://ottello.net - Les anciens de Vilgénis