Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2015, 02:33
Новичок на форуме
Отправить личное сообщение для Vslav iv Посмотреть профиль Найти все сообщения от Vslav iv
 
Регистрация: 10.11.2015
Сообщений: 6

Проблема с динамическими url
Необходимо показывать модальное окно на странице товара только один раз.
Но беда в том, что url у меня вида /products.php?prod_id=7341
(который в htaccess преобразовывается в /horoshii-tovar-pr-7341.html)

Я использую jquery.cookie.js и код, где есть строка:
document.cookie = name + "=" + value + expires + "; path=/";

Естественно path=/ это для всех страниц, и подставить туда статическую
/stranica.php ума много не нужно.
Но с динамическими url, у которых в хвосте id= где постоянно меняются цифры
это не работает.
Помогите составить правильный универсальный path=.... для моего случая.
Заранее благодарен.

PS: Решение должно работать с любым товаром, не зависимо от номера ID

Последний раз редактировалось Vslav iv, 23.11.2015 в 02:43.
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2015, 02:47
Аспирант
Посмотреть профиль Найти все сообщения от pnpquest
 
Регистрация: 09.11.2015
Сообщений: 94

Сообщение от Vslav iv
Но с динамическими url, у которых в хвосте id= это не работает.
Что не работает? Они не записываются в куки, или что?
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2015, 03:07
Новичок на форуме
Отправить личное сообщение для Vslav iv Посмотреть профиль Найти все сообщения от Vslav iv
 
Регистрация: 10.11.2015
Сообщений: 6

В куки всё пишется, например:
/products.php?prod_id=/* (вот так я пробовал заносить)
Но это не работает, т к id у товаров разные.
А если я занесу в куку какой-то определённый ID,
то это будет работать только с одним товаром из тысячи,
а нужно с любым.
То есть открыл посетитель один раз любой товар - получил всплывающее окно.
Дальше, какой бы товар не открыл - ничего не увидит.
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2015, 03:11
Аспирант
Посмотреть профиль Найти все сообщения от pnpquest
 
Регистрация: 09.11.2015
Сообщений: 94

Ну так окно надо поднимать по условию
if(!theUrlInCookies()) modalWindowOpen()

Причем тут запись в куки? В куках просто строка, любую хрень можешь туда засунуть.
Ответить с цитированием
  #5 (permalink)  
Старый 23.11.2015, 03:18
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,491

Сообщение от Vslav iv Посмотреть сообщение
Я использую jquery.cookie.js и код, где есть строка:
document.cookie = name + "=" + value + expires + "; path=/";
Не видно что используешь, document.cookie не есть jquery.cookie
Ответить с цитированием
  #6 (permalink)  
Старый 23.11.2015, 04:00
Новичок на форуме
Отправить личное сообщение для Vslav iv Посмотреть профиль Найти все сообщения от Vslav iv
 
Регистрация: 10.11.2015
Сообщений: 6

Ещё раз попробую объяснить:
Код работает, проблема в том, что я не могу в правильном синтаксисе
записать динамический url в path=/. Чтобы кука с любым ID работала.
Других проблем нет.

Полный код тут (на всякий случай)
function setCookie(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=/products.php?prod_id=/*"; //не могу сюда правильно занести url
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') c = c.substring(1, c.length);
    if (c.indexOf(nameEQ) == 0) 
        return c.substring(nameEQ.length, c.length);
}
return null;
}
setCookie('product', 'value', '31');
Ответить с цитированием
  #7 (permalink)  
Старый 23.11.2015, 05:15
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,491

Vslav iv,
document.cookie = name + "=" + value + expires + "; path=/horoshii-tovar-pr-";
Ответить с цитированием
  #8 (permalink)  
Старый 23.11.2015, 10:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vslav iv
"; path=/products.php?prod_id=/*"; //не могу сюда правильно занести url
Сюда и не надо никакого url, указывайте путь корневой папки документов, то есть "/", а домен = "." + domain.etc
Ответить с цитированием
  #9 (permalink)  
Старый 23.11.2015, 12:49
Новичок на форуме
Отправить личное сообщение для Vslav iv Посмотреть профиль Найти все сообщения от Vslav iv
 
Регистрация: 10.11.2015
Сообщений: 6

laimas,
Всё, спасибо, сделал. Работает как нужно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема - jQuery.get перенаправляет на страницу своего url Lerayne AJAX и COMET 1 21.11.2012 08:38
Form plugin -> ajaxForm() -> проблема с параметром url iNfantry jQuery 14 21.12.2011 17:40
проблема с переходом на url ret1k Events/DOM/Window 3 20.10.2011 19:42
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 20:11
Проблема формирования url Tin AJAX и COMET 1 21.12.2010 16:08