Определить загрузку первой страницы с помощью jQuery?

Мне нужно обнаружить первый раз, когда страница загружается в jQuery, чтобы я мог выполнять некоторые действия только тогда, когда страница загружается при первом переходе пользователя на эту страницу. Подобно серверному коду page.ispostbasck. Я тестировал $(document).ready, и он срабатывает каждый раз, когда загружается страница, поэтому это не даст мне то, что мне нужно. Я также попробовал функцию jQuery Load - он также запускает загрузку каждой страницы. Таким образом, при загрузке страницы пример состоит в том, что у меня есть тег ввода HTML на странице кнопки типа и он не запускает обратную передачу (например, кнопку asp.net), но он перезагружает страницу и запускает $(document).ready

Спасибо

Ответ 1

Вам нужно будет использовать файл cookie для хранения первой информации о загрузке:

if (! $.cookie("cookieName")){
   // do your stuff

   // set cookie now
   $.cookie("cookieName", "firstSet", {"expires" : 7})
}

Примечание. В приведенном выше примере используется плагин jQuery cookie.

Ответ 2

Я просто столкнулся с этой проблемой, и именно так я ее обработал. Следите за тем, как загружается страница с помощью переменной initialLoad:

var initialLoad = true;

$(document).ready(function() {
    ...
    ...
    ... 

    initialLoad = false;

});

Затем в других функциях вы можете сделать это:

if (initialLoad) {
    //Do work that is done when the page was first refreshed/loaded.
} else {
    //Do work when it not the initial load.
}

Это хорошо работает для меня. Если пользователь уже находится на странице и запускаются некоторые функции jQuery, теперь я знаю, только что этот пользователь просто загрузил страницу или они уже были на странице.

Ответ 3

Событие не существует, которое срабатывает только при первой загрузке страницы.

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

Примечание. Этот метод никогда не будет доказательством дурака, если вы не сможете сохранить эту информацию на уровне пользователя в БД. В противном случае, как только пользователь очистит свои файлы cookie или любой другой метод, код "первый раз загрузится" снова запустится.

Ответ 4

Простым решением является использование jQuery 'Once plugin

$(element).once('class-name', function() {
  // your javascript code
});