Отслеживание страницы, через которую пользователь вошел - PullRequest
3 голосов
/ 14 декабря 2010

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

Так что я использую PHP CMS (в частности, MODx) и использую электронную торговлю Foxy Cart. Таким образом, у меня есть jquery и JSON для работы. К сожалению, я не знаю, с чего начать.

Вот что я должен сделать:

  • Иметь пустой div, который в некотором смысле ожидает получения входящей ссылки.
  • При входе на страницу продукта jquery будет "захватывать" значение в теге h1 и также захватывать URL, сохраняя эту информацию в пустом div, упомянутом выше.

Вот что я хотел бы себе представить (пожалуйста, поправьте меня, если я ошибаюсь или у вас есть идея получше):

<h1>Product Name Here</h1>
<div class="records_first_page_entry_name"><a href="[+first_page_URL+]">[+product_name_here+]</a></div>

Я бы предположил, что эти заполнители (а именно [+ first_page_URL +] и [+ product_name_here +]) будут заменены их соответствующими значениями. Тогда мне понадобится перенести значения этого div на все страницы моего сайта.

Надеюсь, я правильно объясняю. Спасибо!

Ответы [ 2 ]

0 голосов
/ 14 декабря 2010

Если вы можете использовать только javascript, тогда используйте куки

пример: http://jsfiddle.net/kEpnW/ ( при первом сохранении данных, во второй раз при их отображении, поэтому перезагрузите страницу один раз )

Часть, чтобы проверить, существует ли cookie ( показать информацию ) или нет ( создать cookie при первом посещении )

$(function(){
    var first_page_title = Cookies['first_page_title'];
    var first_page_url = Cookies['first_page_url'];
    if (first_page)
        {
            var ahref = $('<a>',{text: first_page_title, href: first_page_url});
            $('.records_first_page_entry_name').html( ahref );
        }
    else
        {
            Cookies.create('first_page_title', $('h1').text(), 0);
            Cookies.create('first_page_url', window.location.href, 0);
        }
});

Код обращения с печеньем

var Cookies = {
    init: function () {
        var allCookies = document.cookie.split('; ');
        for (var i=0;i<allCookies.length;i++) {
            var cookiePair = allCookies[i].split('=');
            this[cookiePair[0]] = cookiePair[1];
        }
    },
    create: function (name,value,days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime()+(days*24*60*60*1000));
            var expires = "; expires="+date.toGMTString();
        }
        else var expires = "";
        document.cookie = name+"="+value+expires+"; path=/";
        this[name] = value;
    },
    erase: function (name) {
        this.create(name,'',-1);
        this[name] = undefined;
    }
};
Cookies.init();

Вы должны включить их на всех страницах ..


Кроме того, вы можете использовать переменные сеанса PHP для хранения той же информации и отображения ее на своих страницах.

0 голосов
/ 14 декабря 2010

Вам действительно нужно получить указанный URL? Вы можете вернуться назад с помощью window.history.back(). Другой вариант - получить серверную часть сайта, но я не знаю, возможно ли это с помощью jQuery.

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