在我问这个之后 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/