javascript - 输入类型中的“保存”值=“隐藏”Chrome 替代品
问题描述
我试图检测是否使用浏览器的后退按钮加载页面以强制刷新。因此我用
<input type="hidden" id="refresh" name="refresh" value="no">
<script>
if ($("#refresh").val() == "no")
{
$("#refresh").val("yes");
}
else
{
parent.location.reload(true);
}
</script>
它适用于 IE、Edge、Firefox - 但不适用于 Chrome。我搜索了一下,答案是:Chrome 不支持在隐藏输入中“保存”值的优势。您是否知道在返回页面后“保存”并请求更改值的任何其他可能性?
解决方案
@Albert 在评论中的解决方案。
if (!localStorage.getItem("refresh"))
{
localStorage.setItem("refresh", "yes");
}
else
{
localStorage.removeItem("refresh");
parent.location.reload(true);
}
在 IE、Edge、Firefox 和 Chrome 中完美运行。如果您自己尝试,请不要忘记删除该项目。如果你想在关闭浏览器时获得一个清晰的存储空间,你需要 sessionStorage 来代替。
推荐阅读
- python-3.x - 在 py_environment.PyEnvironment 类中定义 TF-Agents 操作
- python - How to combine different field types in flask-wtf wtforms
- kotlin - Kotlin Multiplatform 中的 kapt - 默认情况下 gradle 和 IDE 无法识别 src 目录
- python - 在python中用类变量覆盖开槽属性
- angular - 在 Konva 中逐步调整矩形大小
- python - Doc2Vec build_vocab 方法失败
- c++ - if then C++中的三元运算符
- azure - 如何确定 Azure 虚拟机是否(未)托管?
- python - 功能。ValueError:使用可迭代设置时必须具有相等的 len 键和值。熊猫
- java - 未找到 ID 为 com.android.application 的插件