2010-08-16 7 views
1

J'ai un fichier html qui vit sur www.domain-a.comChemin relatif d'un fichier JS qui vit sur un autre domaine

Il fait référence à un fichier js qui vit sur www.domain-b.com/ unrépertoire/js

Dans le fichier js que je dois être en mesure de pointer vers www.domain-b.com mais en utilisant des chemins relatifs uniquement à un fichier tel que www.domain-b.com/somedirectory/images

Un conseil? Actuellement, je suis en train quelque chose comme ...

myImgUrl = '../images'; 

Mais quand cela est injecté sur la page, qui montre dans le HTML comme quelque chose comme ...

<img src="http://../images/somefile.jpg" /> 

Vos commentaires sont toujours appréciés.

+1

Je ne pense pas que vous pouvez utiliser le chemin relatif pour pointer une ressource dans un autre domaine ... –

Répondre

2

Tout ce que JS fait est relatif à l'environnement dans lequel il s'exécute, et non d'où il a été chargé. Bien que vous puissiez manipuler le DOM pour récupérer le dernier élément <script>, lisez son attribut src et déterminez d'où le script a été chargé (en supposant que le script n'ait pas été ajouté plus haut dans le document avec la manipulation DOM) ... il sera presque certainement plus facile de mettre un URI absolu dans le script (ou un URI de base dans une variable dans un élément de script en ligne plus haut dans le document).

2

Vous auriez besoin de coder en dur l'URL de l'image dans le fichier JS que vous avez. Sinon, et vous voyez, toute référence relative sur le domaine A sera juste cela, une référence relative au domaine A.

3

Les URL relatives sont relatives à la page dans laquelle elles se trouvent, donc même si votre fichier script est sur le bon domaine Pour faire une requête relative, l'URL relative est relative à la page parente, pas au fichier de script.

Par conséquent, votre meilleur pari est de coller:

var domain = 'http://domain-b.com/'; 

Tout en haut du script et l'utiliser comme un élément de configuration pour ajouter le chemin d'image.