如何在Javascript中区分第一页加载和连续页面刷新事件?

时间:2014-03-11 19:22:56

标签: javascript jquery html node.js

您好,我需要区分2个事件,

  1. 第一次加载页面时,我想在标题中设置一些值,然后说“"欢迎"

  2. 稍后如果在加载后如果用户刷新窗口,我希望我的Javascript将其检测为页面刷新事件并且不会误认为是页面加载并在标题中设置其他一些值说"您有刚刷新页面"

  3. 你能帮忙实现吗?

2 个答案:

答案 0 :(得分:2)

this answer所述,您可以使用Cookie。刷新页面时,此函数将检查cookie是否存在。 如果没有,该功能将设置一个cookie。 如果cookie 确实存在,那么该函数将发出警告"您刷新了!"。

function checkFirstVisit() {
  if(document.cookie.indexOf('mycookie')==-1) {
    // cookie doesn't exist, create it now
    document.cookie = 'mycookie=1';
  }
  else {
    // not first visit, so alert
    alert('You refreshed!');
  }
}

并在你的身体标签中,输入:

<body onload="checkFirstVisit()">

编辑:要确保用户离开页面然后重新输入而不关闭并打开浏览器,您可以使用一些onunload事件来清除Cookie。

答案 1 :(得分:1)

如果您不必支持旧版浏览器,建议您使用localStorage

if (localStorage.getItem("visit") == null)
{
    // Show Welcome message
    $('body').append("<h1>Welcome, guest!</h1>");
}

localStorage.setItem("visit", new Date());
// Here you can check if last visit date is longer than a day and clear it up, showing Welcome message again...

Fiddle

Can I use Web Storage?