Как инициировать событие после первого посещения веб-сайта только с помощью jQuery?

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

Был бы лучший способ достигнуть этого, чтобы должным быть сказать jQuery игнорировать исчезновение в действительности при посещении из того же домена? Раз так кто-то может сказать мне, как я записал бы это?

Большое спасибо, Gavin

5
задан limitlessloop 16 December 2009 в 12:12
поделиться

4 ответа

Простой способ сделать это без куки-файлов - использовать свойство document.referrer.

if ( document.referrer == null || document.referrer.indexOf(window.location.hostname) < 0 ) {
// Your code here
}

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

.
16
ответ дан 18 December 2019 в 06:22
поделиться

Единственный способ узнать, был ли это первый доступ пользователя - наличие файла cookie, установленного на вашем сайте.

Это явно ненадежно, поскольку пользователь мог отключить или удалить файлы cookie.

Ваш файл cookie будет извлечен в коде на стороне сервера, а затем записывается в (например) скрытую переменную HTML, доступную из JavaScript / JQuery.

Специфика кода сервера зависит от языка вашего сервера.

4
ответ дан 18 December 2019 в 06:22
поделиться

Вы не можете гарантировать, что у пользователя будут включены cookie-файлы, чтобы это решение работало. Вам нужно будет сначала добавить проверку, включены ли cookie-файлы, перед внедрением решения. Вы можете проверить, включены ли куки-файлы с помощью метода, подобного этому.

var cookieName = 'yourcookiename';
$(function() {
    checkCookie();
});

function checkCookie() {
    if (document.cookie.length > 0 && document.cookie.indexOf(cookieName + '=') != -1) {
            // do nothing, cookie already sent
    } else {
            // handle jQuery animation

            // set the cookie to show user has already visited
            document.cookie = cookieName + "=1";
    }
}
5
ответ дан 18 December 2019 в 06:22
поделиться

Можно использовать куки. Смотрите: http://plugins.jquery.com/project/Cookie

0
ответ дан 18 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: