首页 > 解决方案 > 输入类型中的“保存”值=“隐藏”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 不支持在隐藏输入中“保存”值的优势。您是否知道在返回页面后“保存”并请求更改值的任何其他可能性?

标签: javascriptjqueryasp.netgoogle-chrome

解决方案


@Albert 在评论中的解决方案。

        if (!localStorage.getItem("refresh"))
        {
            localStorage.setItem("refresh", "yes");
        }
        else
        {
            localStorage.removeItem("refresh");
            parent.location.reload(true);
        }

在 IE、Edge、Firefox 和 Chrome 中完美运行。如果您自己尝试,请不要忘记删除该项目。如果你想在关闭浏览器时获得一个清晰的存储空间,你需要 sessionStorage 来代替。


推荐阅读