每个浏览器会话(窗口)执行一次Javascript

时间:2017-07-16 22:33:11

标签: javascript session

我想在一个给定的网站中为每个浏览器会话运行一次简单的Javascript代码。

澄清:

  1. 我打开一个浏览器会话(窗口),比如说Firefox。
  2. 我访问Greasemonkey中匹配的某个网页(例如google.com)。
  3. 我的脚本运行。
  4. 我完全刷新了wepbage(CTRL + F5),并且脚本不再运行,因为它每个会话只运行一次。
  5. 如何做到这一点?我的意思是,在Greasemonkey中匹配的特定网站中,一个简单的脚本如何只包含一个函数,仅限于在浏览器会话中运行一次

2 个答案:

答案 0 :(得分:0)

您可以使用LocalStorage来执行此操作。我在评论中解释了整个逻辑。

if (typeof(Storage) !== "undefined") {
  // First timer
  if (!localStorage.getItem("oldUser")) {
    localStorage.setItem("oldUser", true);
    executeYourCode();
  }
} else {
  // Sorry! No Web Storage support..
  // Use the above cookie method.
}

答案 1 :(得分:0)

使用window.localStorage设置参数isCalled = true

此处为文档https://developer.mozilla.org/en/docs/Web/API/Window/localStorage