我正在尋找一種方法來確定,如果用戶刷新頁面或使用JavaScript點擊F5(更具體Prototype JavaScript庫)...辦法知道瀏覽器刷新或F5一直打到
我編碼的應用程序需要在網頁上記錄刷新或F5的數量以進行統計。在這種情況下刷新或F5意味着用戶跳過或逃避做頁對他的工作:)所以統計數據可以幫助他們找到有多少人正在這樣做:) ..警務類...
我正在尋找一種方法來確定,如果用戶刷新頁面或使用JavaScript點擊F5(更具體Prototype JavaScript庫)...辦法知道瀏覽器刷新或F5一直打到
我編碼的應用程序需要在網頁上記錄刷新或F5的數量以進行統計。在這種情況下刷新或F5意味着用戶跳過或逃避做頁對他的工作:)所以統計數據可以幫助他們找到有多少人正在這樣做:) ..警務類...
把下面的代碼段上每個頁(只有這樣,你可以刷新/導航之間不同):
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;
它只有在同一個域上導航而不是這樣做(即去另一個網站,然後返回到同一個頁面纔算刷新)。
你可以檢查keycode = 116,並檢測按鍵事件。
我想他會問到如何檢測頁面刷新,而不僅僅是檢測F5鍵... – 2011-12-16 08:58:47
在加載頁面,保存時間標記爲持久性存儲(無論是Web Storage或餅乾)。
在此之前,檢查時間戳已經在那裏了。然後根據需要比較郵票。
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!')
}
這是一個非常簡單的解決方案:window.onbeforeunload
如果你只是關閉的標籤/窗口將被觸發。 – katspaugh 2011-12-16 10:08:24
是的,但要求是«意味着用戶跳過或逃避做頁面他的工作»,所以我猜它適用。 – 2011-12-16 14:00:28
是否點擊地址欄,然後點擊Enter算作刷新? – 2011-12-16 09:25:25