| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
Kaliiii WRInaute passionné

Inscrit le: 02 Mar 2005 Messages: 589 Localisation: France
|
Posté le : Ven Fév 09, 2007 17:55 Sujet du message: xmlhttprequest et fichier distant ... |
|
|
La question a été posée sur d'autres forums, mais je n'ai trouvé pour le moment aucune réponse concrete a cette question.
Voila le principe :
On donne acces a un contenu précis sur le serveur web A au serveur web B en utilisant la méthode xmlhttprequest.
Le fichier .js et le script appelé sont hébergés sur le serveur A. lorsque l'utilisateur execute le script sur le serveur B, le navigateur retourne l'erreur :
Erreur : uncaught exception: Permission refusée d'appeler la méthode XMLHttpRequest.open
En théorie, XMLHttpRequest par un soucis de pseudo sécurité ne permet pas l'acces a un fichier distant. Pourtant, certains comme Google ou encore Weborama l'utilisent dans des outils comme google analytics ou Google Adsense.
Le code que j'avais composé fonctionne tres bien en local et était etrangement ressemblant a celui de google analytics.
Mais des que je l'execute depuis un autre serveur via :
<script src="http://monserveur.com/file.js"></script>
La il me retourne l'erreur précédente.
J'ai regardé le js de google analytics qui me parait pour le moins obscur.
Quelqu'un a une solution a apporter ? |
|
| |
|
 |
DreamJap WRInaute occasionnel

Inscrit le: 06 Mai 2005 Messages: 114
|
Posté le : Ven Fév 09, 2007 19:08 Sujet du message: xmlhttprequest et fichier distant ... |
|
|
J'ai cette solution :
| Citation: |
| Pour le probleme de sécurité d’appel d’un XML sur un serveur distant, ma solution a été de faire un server-side proxy ! En gros une simple page en ASP ou PHP hebergé sur le meme serveur que l’application JS et qui recupere le fichier XML . Ex : http://monserveurlocal/monproxy.asp?url=http://serveurdistant/fichier.xml La page n’a qu’a recuperer le flux XML distant et le renvoyer tout simplement |
Sinon petit code JS pour enlever ce probléme sous Firefox :
| Code: |
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
}
catch(e) {} |
Sachant que IE va demander à l'utilisateur d'accepter les données distantes.
Voilà, c'est tout ce que j'ai. |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
Définitions :
|
|