Выполнение скрипта со второй страницы
Добрый день! Есть скрипт модального окна. Скрипт выполняется сразу же как посетитель открыл первую страницу сайта, т.е. когда только зашел на сайт. Скажите, возможно ли сделать так, чтобы скрипт выполнялся когда посетитель открыл уже вторую/следующую страницу сайта, чтобы скрипт определил, что посетитель перешел с домена http://сайт.рф и только тогда дал команду на выполнение? Насколько это возможно и сложно? Прошу прощения за каламбур, но как-то так. Вот пример кода, который должен выполниться при таком условии:
jQuery(document).ready(function($) { if (typeof $.cookie('open_login') === 'undefined') { var date = new Date(); var period = 3; date.setTime(date.getTime() + period * 24 * 60 * 60 * 1000); $.cookie('open_login', 'yes', { expires: date, path: '/' }); var delay = 30; var timeoutId = setTimeout(function() { $('.open_login').trigger('click'); }, delay * 1000); $('.open_login').one('click', function() { clearTimeout(timeoutId) }) } }); |
LADYX,
А почему бы не грузить этот скрипт не на первой, а на второй странице? |
if(document.referrer == 'http://сайт.рф'){ //код который нужно выплнить }; |
Приветствую вас!
Dilettante_Pro, Прошу прощения, не совсем понял вопрос. j0hnik, получается так? if(document.referrer == 'http://сайт.рф'){ jQuery(document).ready(function($) { if (typeof $.cookie('open_login') === 'undefined') { var date = new Date(); var period = 3; date.setTime(date.getTime() + period * 24 * 60 * 60 * 1000); $.cookie('open_login', 'yes', { expires: date, path: '/' }); var delay = 30; var timeoutId = setTimeout(function() { $('.open_login').trigger('click'); }, delay * 1000); $('.open_login').one('click', function() { clearTimeout(timeoutId) }) } }); }; ок, попробую, отпишусь обязательно. |
LADYX,
Цитата:
По какому событию должен запускаться скрипт модального окна? |
Dilettante_Pro,
имеется ввиду когда посетитель откуда угодно зашел на сайт, и не закрывая страницу или вкладку браузера, переходит дальше по сайту. |
точнее наверное лучше объяснить это так: чтобы скрипт сработал тогда, когда определил, что посетитель пришел на сайт (или открыл страницу) с домена сайт.рф
|
Цитата:
нет, так скрипт почему-то вообще не выполняется |
LADYX,
А поставьте перед этим alert(document.referrer); |
jQuery(document).ready(function($) { if(document.referrer == 'http://сайт.рф'){ if (typeof $.cookie('open_login') === 'undefined') { var date = new Date(); var period = 3; date.setTime(date.getTime() + period * 24 * 60 * 60 * 1000); $.cookie('open_login', 'yes', { expires: date, path: '/' }); var delay = 30; var timeoutId = setTimeout(function() { $('.open_login').trigger('click'); }, delay * 1000); $('.open_login').one('click', function() { clearTimeout(timeoutId) }) } }; }); так, и адрес точный нужен, скопируйте из адресной строки! |
j0hnik,
нужно чтобы скрипт срабатывал при переходе ни с какого-то конкретного адреса, а именно с определенного домена сайт.рф |
Я правильно понимаю алгоритм?
При переходе с сайта.рф с любой его страницы должен сработать скрипт, или при переходе с сайт.рф на страницу вашего сайта, а с нее на другую??? |
Извините меня, пожалуйста, наверное я вас запутал.
Вот смотрите. Например, скажем с яндекса посетитель переходит на сайт на страницу, к примеру, сайт.рф/море.html (или на любую другую, разницы нет). Это первая страница сайта, которую открыл посетитель. Скрипт не должен запускаться. Посетитель почитал страницу, и увидел на странице интересную статью. Нажал на нее и перешел по ссылке (в этой же вкладке браузера), к примеру, на сайт.рф/солнце.html (или любую другую, также разницы нет). И вот здесь скрипт должен запуститься. Цитата:
К чему это все я затеял. Это информационное окно. Но я не хочу, чтобы посетитель его видел сразу же с первой страницы как он попал на сайт. Да и чтобы это не было навязчивым, т.е. только попал на сайт и на тебе сразу в лоб. А в случае если посетителю сайт стал интересен, и он пошел дальше "вглубь", то тогда ему это окно и покажется. |
LADYX,
jQuery(document).ready(function($) { if(document.referrer.indexOf('http://сайт.рф') >= 0){ //код который нужно выполнить }; }); |
jQuery(document).ready(function($) { if (document.referrer.indexOf(document.location.host) >= 0){ if (typeof $.cookie('open_login') === 'undefined') { var date = new Date(); var period = 3; date.setTime(date.getTime() + period * 24 * 60 * 60 * 1000); $.cookie('open_login', 'yes', { expires: date, path: '/' }); var delay = 30; var timeoutId = setTimeout(function() { $('.open_login').trigger('click'); }, delay * 1000); $('.open_login').one('click', function() { clearTimeout(timeoutId) }) } }; }); |
Поправил пост, referrer с ошибкой написан был.
|
По всякому пробовал, сработало только так:
if(document.referrer.indexOf('http://сайт.рф') >= 0){ вот так (document.location.host) почему-то не работает Dilettante_Pro, j0hnik, Огромное вам спасибо за помощь! Удачи! |
Часовой пояс GMT +3, время: 04:33. |