javascript - 是否可以在 javascript 中创建一个在刷新页面时不会改变的变量?

标签 javascript html global-variables partial-page-refresh

在我问这个之后 question :

我在考虑这个解决方案:

  • javascript 脚本中创建一个 bool 标志并使其成为 true:
    • true表示使用浏览器刷新页面。
    • false 表示使用按钮刷新页面。
  • 在按钮的 onclick 属性中,我将 flag 设置为 false 并调用 window.location.reload()刷新页面。
  • onload 属性内 <body> 标签,我检查 flag 如果它是真的切换到 Home选项卡否则切换到 Page1包含 <div> 的选项卡 标签我想刷新它的内容。之后,将flag设置为true。*

但不幸的是它不起作用并且 flag <body>onload 属性中始终为 true 标签。是否有可能(以某种方式)在 javascript 中创建一个在刷新页面时不会改变的变量?

*我的页面包含许多选项卡,第一个是主页(使用浏览器刷新页面时应显示的位置),第二个是页面 1(其中包含 <div> 标签我想刷新它的内容以及使用按钮刷新页面时应该显示的位置)

最佳答案

浏览器是无状态的,这意味着每次页面加载时页面上的所有内容都会刷新。

有几种方法可以存储您可以在请求之间访问的持久性信息:

  • 将您需要的数据存储在 cookie 中,并在页面加载时读取它
  • 将数据传递给 URL 并在页面加载时读取当前 URL(包括您传递的数据)。例如:将浏览器重定向到 http://something.com/yourpage.html#flag=true如果用户通过浏览器刷新或重定向到 http://something.com/yourpage.html#flag=false如果用户单击按钮。在页面加载时,只需读取当前 URL 并查看标志是什么。
  • 使用 cookie 创建 session 并在服务器上存储数据(从技术上讲,这与第一个选项非常相似,除了您只需在客户端存储 token 并将其传递给服务器以检索存储在那里的数据)

关于javascript - 是否可以在 javascript 中创建一个在刷新页面时不会改变的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218695/

相关文章:

javascript - 如何用逗号 (,) 计算数字

python - 获取当前环境

javascript - AngularJS:无法将 localStorage 项保存到作用域变量中

javascript - JS 正则表达式从文本区域中删除 "too much"

html - 显示 Accordion 内容

functional-programming - 全局命名空间中的 JavaScript 库函数 - 缺点?

javascript - 使 Ramda.js 函数全局可访问(无需 R.)

javascript - 使用动态源将动画保留在 ng-include 上

javascript - 使用 Enter 键提交普通脚本表单

javascript - 一个链接(onclick)更改两个属性