2009-10-23 5 views
0

J'ai une application qui est entièrement écrite en html/js (il n'y a pas de serveur). En utilisant javascript, je voudrais récupérer un script d'un autre domaine et obtenir son contenu sous forme de chaîne. Je ne veux pas évaluer le script. Y at-il un hack qui peut rendre cela possible?Depuis javascript, comment charger un script d'un autre domaine sous forme de chaîne?

+0

Merci à tous. J'espérais un moyen de le faire sans aucun support de serveur, mais il semble que ce n'est tout simplement pas possible. – lowellk

Répondre

3

Je ne pense pas. S'il y avait un moyen, cela violerait l'interdiction des téléchargements interdomaines. Je suppose qu'il existe un moyen d'assouplir ces limitations en configurant correctement la sécurité sur le navigateur, mais il est désordonné et peu fiable entre autres à cause des dépendances du navigateur. Vous devrez le faire sur le serveur

1

Vous ne pouvez pas. Le modèle de sécurité inter-domaines implémenté par les navigateurs empêche cela. Vous devez passer par un autre serveur sur votre domaine en tant que proxy pouvant accéder à la ressource distante pour vous.

2

On dirait JSONP pour moi.

+1

Oui, bien que cela ressemble à évaller :) – ChrisR

1

C'est certainement possible. Au lieu d'utiliser jQuery ou d'autres bibliothèques qui implémente la technique JSONP, implémentez JSONP vous-même!

Il y a quelques étapes, mais à la fin, sautez la partie "eval". faites place ce que vous voulez faire avec la chaîne javascript ...

Un joli article de profondeur est difficile à trouver mais en voici une que je trouve rapidement:

http://niryariv.wordpress.com/2009/05/05/jsonp-quickly/

JSONP est en fait, une jolie technique intelligente. L'apprendre juste pour le plaisir en vaut la peine!

Bonne chance

+0

J'ai oublié, le script sur l'autre domaine devrait également être sympathique JSONP –

Questions connexes