Как получить URL с помощью JavaScript / JQuery? - PullRequest
0 голосов
/ 21 марта 2010

Мне нужно получить URL с помощью javascript / jquery, а не php.

Я читал, что вы можете сделать это, если у вас есть php-прокси, но это означает, что он все еще проходит через php. потому что это все еще ip сервера, который получает его.

Можно ли получить URL целиком, используя только внешний интерфейс, и таким образом получить IP-адрес клиента?

Ответы [ 2 ]

5 голосов
/ 21 марта 2010

Существует Такая же политика происхождения для запросов AJAX.Это препятствует тому, чтобы Javascript, скажем, на этом сайте, отправлял запрос на gmail.com (с вашими файлами cookie), читал ваши электронные письма и загружал их на сервер StackOverflow.Javascript на stackoverflow.com может отправлять запросы AJAX только на страницы в этом домене.

Как видите, это важно для безопасности.Вместо этого запросы должны выполняться прокси-сервером, работающим на вашем веб-сервере - PHP можно использовать, но есть и другие решения.Например, Кросс-домен Ajax - это библиотека AJAX, которая взаимодействует со скриптом Perl, работающим на сервере, для эмуляции запросов AJAX для других доменов.

Можно также выполнять запросы в других доменах.через javascript include (тег script), тег image и т. д., но в этих случаях вы не можете прочитать содержимое страницы.

Вы также не можете сделать это с помощью iframe: сценарии не могут видеть внутренние элементы iframe, если толькоони находятся в том же домене, что и скрипт.

Короче говоря, используйте прокси.

2 голосов
/ 21 марта 2010

Проблема в том, что jQuery будет получать URL-адрес с AJAX, а AJAX не будет работать междоменный из-за потенциальной безопасности (согласно политике того же источника ).

Однако есть способы эмулировать это, если вы загружаете страницу в iframe, вы можете извлечь данные с помощью innerHTML в iframe. Вот пример сценария, который использует jQuery: http://code.google.com/p/jquery-crossframe/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...