Способ узнать обновление браузера или F5 - PullRequest
2 голосов
/ 16 декабря 2011

Я ищу способ определить, обновляет ли пользователь страницу или нажимает F5, используя javascript (точнее, библиотеку javascript-прототипа) ...

Я кодирую приложение, которое должно записывать количество обновлений.(е) или F5 на веб-странице для статистических целей.Обновление или F5 в этом случае означает, что пользователь пропускает или сбегает, выполняя свою работу на странице :). Таким образом, статистика помогает им определить, сколько из них это делает :) .. Вид охраны ...

Ответы [ 4 ]

3 голосов
/ 16 декабря 2011

Поместите следующий фрагмент кода на каждую страницу (только в этом случае вы можете различаться при обновлении / навигации):

var last = localStorage["lastPage"] || "",
    current = location.href;

if(last === current) { // last page is the same as this page
    // this is a refresh
]

localStorage["lastPage"] = current;

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

1 голос
/ 16 декабря 2011

После загрузки страницы сохраните отметку времени в постоянном хранилище ( Веб-хранилище или файлы cookie).

Перед этим проверьте, была ли отметка времени уже там. Затем сравните марки по необходимости.

var MIN_TIME = 60e3 // 60 seconds

var key = location.href
var now = Date.now()
var previousVisit = localStorage.getItem(key) || now

localStorage.setItem(key, now)

if (now - previousVisit < MIN_TIME) {
    alert('You lazy sloth!')
}
1 голос
/ 16 декабря 2011

Это гораздо более простое решение: window.onbeforeunload

0 голосов
/ 16 декабря 2011

Вы можете проверить код клавиши = 116 и обнаружить событие нажатия клавиши.

...