【问题标题】:"Saving" value in input type="hidden" Chrome alternative输入类型中的“保存”值=“隐藏”Chrome 替代品
【发布时间】:2019-03-15 09:29:46
【问题描述】:

我尝试检测是否使用浏览器的后退按钮加载页面以强制刷新。所以我用了

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

【问题讨论】:

  • 它不会为您提供所需的解决方案,但作为替代方案很有趣:developer.mozilla.org/en-US/docs/Web/API/Window/localStorage 允许将数据保存到本地存储的“数据库”中。
  • @Albert 这个解决方案完美运行,很好!谢谢。
  • 不要忘记发布您自己的答案并将其标记为您问题的答案;)
  • 是的,我已经这样做了,但感谢您提醒我。需要 2 天时间接受 :) @Albert
  • 代码贴出来了,不过我觉得没什么好解释的:)@Albert

标签: javascript jquery asp.net google-chrome


【解决方案1】:

@Albert 在 cmets 中的解决方案。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多