Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выполнение скрипта со второй страницы (https://javascript.ru/forum/dom-window/70422-vypolnenie-skripta-so-vtorojj-stranicy.html)

LADYX 04.09.2017 11:26

Выполнение скрипта со второй страницы
 
Добрый день! Есть скрипт модального окна. Скрипт выполняется сразу же как посетитель открыл первую страницу сайта, т.е. когда только зашел на сайт. Скажите, возможно ли сделать так, чтобы скрипт выполнялся когда посетитель открыл уже вторую/следующую страницу сайта, чтобы скрипт определил, что посетитель перешел с домена 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)
})
    }
});

Dilettante_Pro 04.09.2017 11:34

LADYX,
А почему бы не грузить этот скрипт не на первой, а на второй странице?

j0hnik 04.09.2017 11:37

if(document.referrer == 'http://сайт.рф'){
	//код который нужно выплнить
};

LADYX 04.09.2017 12:05

Приветствую вас!
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)
})
    }
});

};

ок, попробую, отпишусь обязательно.

Dilettante_Pro 04.09.2017 12:16

LADYX,
Цитата:

Сообщение от LADYX
не совсем понял вопрос.

Что представляет из себя вторая страница? Отдельный html-документ, который грузится вместо первой страницы?
По какому событию должен запускаться скрипт модального окна?

LADYX 04.09.2017 12:52

Dilettante_Pro,
имеется ввиду когда посетитель откуда угодно зашел на сайт, и не закрывая страницу или вкладку браузера, переходит дальше по сайту.

LADYX 04.09.2017 12:55

точнее наверное лучше объяснить это так: чтобы скрипт сработал тогда, когда определил, что посетитель пришел на сайт (или открыл страницу) с домена сайт.рф

LADYX 04.09.2017 13:57

Цитата:

Сообщение от j0hnik (Сообщение 463612)
if(document.referrer == 'http://сайт.рф'){
	//код который нужно выплнить
};

j0hnik,
нет, так скрипт почему-то вообще не выполняется

Dilettante_Pro 04.09.2017 14:28

LADYX,
А поставьте перед этим
alert(document.referrer);

j0hnik 04.09.2017 14:42

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


так, и адрес точный нужен, скопируйте из адресной строки!


Часовой пояс GMT +3, время: 13:55.