Как получить содержимое удаленной страницы с помощью JavaScript? - PullRequest
5 голосов
/ 20 августа 2009

У меня есть URL-адрес удаленной страницы из другого домена , который я должен загрузить, проанализировать и обновить DOM текущей страницы. Я нашел примеры этого с использованием нового ActiveXObject ("Msxml2.XMLHTTP") , но это, я думаю, ограничено IE и использованием new java.net.URL , но Я не хочу использовать Java. Есть ли альтернативы?

Ответы [ 6 ]

3 голосов
/ 20 августа 2009

Та же политика в отношении доменов поможет вам.

1) Прокси через ваш сервер. браузер-> ваш сервер-> их сервер-> ваш сервер-> браузер.

2) Используйте вспышку или серебристый свет. Третья сторона должна предоставить вам доступ. Мост между javascript и flash не подходит для больших объемов данных, и здесь есть ошибки. Silverlight не вездесущ, как вспышка ...

3) использовать тег. Это действительно небезопасно ... Работает только в том случае, если сторонний контент является допустимым JavaScript.

2 голосов
/ 20 августа 2009

Как насчет загрузки PHP-скрипта через AJAX, который делает file_get_contents()? Это должно работать для другого домена. Если я правильно понимаю.

1 голос
/ 20 августа 2009

Написание сценария на стороне сервера, который будет извлекать содержимое страницы для вас, - это путь. Вы можете использовать объект XMLHttpRequest, чтобы вызвать AJAX-вызов этого скрипта, который просто пропустит все html (?) За вас.

Тем не менее, я советую против этого. Я не знаю точно насколько насколько вы доверяете другому сайту, но такая же политика происхождения существует по причине. Что именно вы пытаетесь сделать? Обычно есть обходной путь.

0 голосов
/ 31 октября 2009

Просто используйте PHP:

<?php
$url = "http://www.domaintoretrieve.com";

ob_start();
include_once( $url );

$html = ob_get_contents();
ob_end_clean();

?>

$ html содержит всю страницу для манипулирования при необходимости.

0 голосов
/ 20 августа 2009

Я не думаю, что вы можете сделать это в соответствии с ограничениями той же политики происхождения. Два взаимодействуют между двумя доменами, используя Iframes, также мы можем использовать код JS, но оба домена должны иметь в себе код обмена. Дочерняя рамка может связываться с рамкой дедушки (окном), но не здесь.

Поскольку вы имеете в виду какой-то другой URL-адрес, все вместе.

Единственный способ - использовать код на стороне сервера для доступа к контенту в другом домене.

0 голосов
/ 20 августа 2009

Объект XMLHTTPRequest является общим для большинства современных браузеров и служит основой для веб-приложений AJAX.

...