J'ai une URL d'une page distante d'un domaine différent que je dois télécharger, analyser et mettre à jour les DOM de la page actuelle. J'ai trouvé des exemples de ce fait en utilisant le nouveau ActiveXObject ("Msxml2.XMLHTTP") , mais cela se limite à IE, je suppose, et à l'utilisation de java.net.URL , mais je ne veux pas utiliser Java. Y at-il des alternatives?
La même politique de domaine vous apportera.
1) Proxy via votre serveur. Navigateur-> votre serveur-> leur serveur-> votre serveur-> navigateur.
2) Utilisez flash ou silverlight. La troisième partie doit vous donner accès. Le pont entre javascript et Flash n'est pas génial pour de grandes quantités de données et il y a des bugs. Silverlight n'est pas omniprésent comme le flash …
3) utiliser une étiquette. Ce n'est vraiment pas sûr … Fonctionne uniquement si le contenu de tiers est un javascript valide.
Qu'en est-il de charger un script PHP via AJAX qui contient file_get_contents()
? Cela devrait fonctionner pour différents domaines. Si je comprends bien.
L'écriture d'un script côté serveur qui permettra de retrouver le contenu de la page pour vous est le chemin à parcourir. Vous pouvez utiliser l'objet XMLHttpRequest pour effectuer un appel AJAX sur ce script, qui mettra tout à fait en ligne tous les html (?) Pour vous.
Pourtant, je le déconseille. Je ne sais pas exactement combien vous faites confiance à l'autre site, mais la même politique d'origine existe pour une raison. Qu'est-ce que vous essayez de faire exactement? Habituellement, il y a une solution de contournement.
Je ne pense pas que vous pouvez le faire en fonction des contraintes de la même politique d'origine. Deux communiquent entre deux domaines à l'aide d'Iframes, nous pouvons également utiliser le code JS, mais les deux domaines doivent avoir leur code de communication. Le cadre enfant peut contacter le cadre grand-père (fenêtre) mais pas ici.
Puisque vous faites référence à une autre URL, tous ensemble.
La seule façon est de le faire en utilisant votre code côté serveur pour accéder au contenu sur l'autre domaine.
Utilisez simplement PHP:
<?php $url = "http://www.domaintoretrieve.com"; ob_start(); include_once( $url ); $html = ob_get_contents(); ob_end_clean(); ?>
$ Html contient toute la page à manipuler au besoin.
L'objet XMLHTTPRequest est commun à la plupart des navigateurs modernes et est ce qui gère les applications Web AJAX.