Перенаправить и сохранить URL реферала - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть страница, которую я перенаправляю с другой страницы (назовем ее «средняя страница») с параметрами в строке запроса.и я хочу перенаправить со средней страницы на другую страницу в другом домене, не теряя URL реферала (строка запроса средней страницы).мой проект MVC C #.

Я пытался: - перенаправление на стороне сервера -> не работало, поскольку строка запроса на средней странице не имела возможности изменить на стороне клиента.- перенаправление на стороне клиента через java-скрипт: location.replace / location.href -> не сохранил URL реферала.- перенаправление на стороне клиента с обновлением метатега -> не сработало.

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

у кого-нибудь есть решение для этого?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

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

0 голосов
/ 15 февраля 2012

Попробуйте отправить форму, используя javascript: (отредактированная версия)

Итак, у нас есть файл "first.html", который вызывает "middle.html" с параметрами:

<html>
    <body>
        <script>
            document.location.href="middle.html?a=1&b=2";
        </script>
    </body>
</html>

Теперь "middle.html" делает отправку формы в другой домен:

<html>
    <body>
        <script>
            var myForm = document.createElement("form");
            myForm.method = "GET";

            myForm.action = "http://google.com";

            document.body.appendChild(myForm);
            myForm.submit();
        </script>
    </body>
</html>

Я проверил это в FF с помощью Firebug, где под GET-запросом я вижу HttpHeader "Referer", которыйравно "middle.html? a = 1 & b = 2"

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