2010-12-14 2 views
3

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

Так что я использую 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, которые будут отображаться на всех страницах моего сайта.

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

+0

Почему бы не попробовать установить cookie с jQuery, как простой способ, или использовать сеанс PHP? – farinspace

ответ

0

Если вы можете использовать только JavaScript, то использовать куки

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

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

$(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); 
     } 
}); 

Cookie код обработки

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

Вы можете использовать [jQuery cookie plugin] (http://projects.zzzzbov.com/jquery-cookie-plugin/jquery.cookie.js), который я создал, чтобы упростить получение/установку файлов cookie. – zzzzBov

+0

Удивительный ... это сделал трюк ... большое вам спасибо! – flinx777

0

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

+0

Yeh, мне определенно нужно будет поддерживать определенный URL-адрес и иметь возможность показывать pagetitle как ссылку.Проблема с «window.history.back()» заключается в том, что она возвращает только 1 страницу, верно? – flinx777

+0

Да, но с помощью функции 'window.history.go()' вы можете вернуться на несколько страниц назад. –

Смежные вопросы