如何在刷新页面后保持当前视图
How to keep the current view after refreshing the page
你好,我已经制作了这个 js 代码来将视图从 List 更改为 Grid,反之亦然,但我想在刷新页面后保持当前视图状态,我看过很多视频谈论 cookie 和 localStorage 但是我不知道如何使用它们,因为我还是编程的初学者,你能告诉我该怎么做吗?
script.js:
let x = document.getElementById('x');
let z = document.getElementById('z');
x.addEventListener('click', function() {
let className = z.className;
if (className == 'list') {
z.className = 'grid';
}else{
z.className = 'list';
}
});
index.php:
<i class="" id="x"></i>
<div class="list" id="z">
.
centent
.
</div>
localstorage 用作 key-value 对,两者始终是字符串。
您可以使用 localStorage.setItem('view-setting', 'list')
。
这将创建一个名为 view-setting
的本地存储变量,并将其值定义为 list
。您可以使用 localStorage.getItem('view-setting') 获取数据。类似地,可以使用 localStorage.removeItem('view-setting').
删除项目
所以在 localStorage 中设置视图后,您可以获取它并在重新加载时检查它的最后阶段并相应地在 HTTP 中添加条件。
您可以从以下渠道获得更多帮助:
Loading JS LocalStorage into PHP Variable
或者
https://www.w3schools.com/html/html5_webstorage.asp
您可以:
- 从
localStorage
加载存储的class
- 查看是否有效,是否与当前的不同class
- 在每次点击时存储其当前值
let x = document.getElementById('x');
let z = document.getElementById('z');
let cl = localStorage.getItem("class");
if (cl !== z.className) z.className = cl;
x.addEventListener('click', function() {
let className = z.className;
if (className == 'list') {
z.className = 'grid';
}else{
z.className = 'list';
}
localStorage.setItem("class", z.className);
});
由于whosebug.com认为直接操作localStorage
是不安全的,我不得不为proof-of-concept创建一个Fiddle。看这里:https://jsfiddle.net/q68vnctL/
您可以通过 运行 测试它,点击“点击我!”多次点击按钮,再次点击“运行”,看到颜色保持原样。
你好,我已经制作了这个 js 代码来将视图从 List 更改为 Grid,反之亦然,但我想在刷新页面后保持当前视图状态,我看过很多视频谈论 cookie 和 localStorage 但是我不知道如何使用它们,因为我还是编程的初学者,你能告诉我该怎么做吗?
script.js:
let x = document.getElementById('x');
let z = document.getElementById('z');
x.addEventListener('click', function() {
let className = z.className;
if (className == 'list') {
z.className = 'grid';
}else{
z.className = 'list';
}
});
index.php:
<i class="" id="x"></i>
<div class="list" id="z">
.
centent
.
</div>
localstorage 用作 key-value 对,两者始终是字符串。
您可以使用 localStorage.setItem('view-setting', 'list')
。
这将创建一个名为 view-setting
的本地存储变量,并将其值定义为 list
。您可以使用 localStorage.getItem('view-setting') 获取数据。类似地,可以使用 localStorage.removeItem('view-setting').
所以在 localStorage 中设置视图后,您可以获取它并在重新加载时检查它的最后阶段并相应地在 HTTP 中添加条件。
您可以从以下渠道获得更多帮助:
Loading JS LocalStorage into PHP Variable
或者
https://www.w3schools.com/html/html5_webstorage.asp
您可以:
- 从
localStorage
加载存储的class
- 查看是否有效,是否与当前的不同class
- 在每次点击时存储其当前值
let x = document.getElementById('x');
let z = document.getElementById('z');
let cl = localStorage.getItem("class");
if (cl !== z.className) z.className = cl;
x.addEventListener('click', function() {
let className = z.className;
if (className == 'list') {
z.className = 'grid';
}else{
z.className = 'list';
}
localStorage.setItem("class", z.className);
});
由于whosebug.com认为直接操作localStorage
是不安全的,我不得不为proof-of-concept创建一个Fiddle。看这里:https://jsfiddle.net/q68vnctL/
您可以通过 运行 测试它,点击“点击我!”多次点击按钮,再次点击“运行”,看到颜色保持原样。