Как отправить текущий URL на сервер? - PullRequest
0 голосов
/ 20 сентября 2011

Я хотел бы иметь кнопку отправки на HTML-страницах других людей (с разрешения). При щелчке по нему я бы хотел, чтобы код на этой странице захватывал URL-адрес этой страницы и отправлял этот URL на мой сервер (пользователь не будет отправлен / связан с другой страницей). Возможно ли это с использованием только HTML и PHP?

- Правка -

Я МОГУ БЫТЬ ссылаться на другую страницу, если мой сервер сначала получает URL, если это поможет.

Есть ли способ сделать это, используя только HTML на странице клиента и php на моем сервере?

Ответы [ 3 ]

1 голос
/ 20 сентября 2011

Используя PHP, вы можете прочитать переменную $_SERVER['HTTP_REFERER'], но это менее надежно, чем использование Javascript для извлечения текущего window.location и публикации, например. Кстати, вам все равно нужен JS для отправки запроса на пост от Ajax, если вы не хотите «перенаправлять» пользователя.

0 голосов
/ 20 сентября 2011

при условии, что у вас есть jQuery:

<div id="track_button">Send URL</div>

<script>
    function send_url(){
        $("body").append("<iframe src=\"http://yourdomain/script.php?url=" + encodeURIComponent(document.URL) + "\" style=\"width: 0px; height: 0px; border: none;\"></iframe>");
    }
    $(document).ready(function(){
        $("#track_button").button().click(function(){
            send_url();
        });
    });
</script>

«При нажатии я хочу, чтобы код на этой странице захватывал URL этой страницы», это предложение подразумевает следующее:
1) есть элемент, опубликованный на X-сайте человека
2) «щелчок» обычно производится человеком, большинство браузеров поддерживают javascript - разве вы не можете его использовать?
3) «захватить URL» - есть два метода: 1) использовать javascript; 2) ретрансляция на http_referrer, как предлагали другие

Итак, я предоставил решение, в котором используется javascript (+ jQuery). JQuery может быть отброшен, и тот же эффект может быть достигнут с простым JavaScript. Если вам не разрешено устанавливать JavaScript, http_referrer - это единственное, что вы можете включить. Но это ненадежно, так как довольно много людей отключили эту функцию.

0 голосов
/ 20 сентября 2011

Исследуйте, используя букмарклет , чтобы позволить пользователю отправлять данные о своей веб-странице на ваш сервер.

В качестве примера такого рода вещей посмотрите на букмарклет Amazon , который позволяет добавлять материалы с любого сайта в список желаний Amazon - такая же идея.

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