【问题标题】:Change back button behaviour of browser更改浏览器的后退按钮行为
【发布时间】:2021-03-24 06:04:38
【问题描述】:

在没有目标的情况下发布以重新加载网页似乎对某些事情很有用 - 例如编写登录页面。我已经在 PHP 中实现了一个日历,它利用了这一点。它从会话中重新加载一个对象(如果不存在,则创建一个新对象),应用帖子产生的任何更改,然后将该对象保存回会话。问题是这样的。如果我点击后退按钮,我不想每次点击日历按钮都返回,而是希望在到达日历页面之前跳回页面。不仅如此,如果我确实返回一个又一个日历页面,我会收到一个烦人的“确认表单重新提交”。我在每个帖子的 # 之后实现了一个递增值,以便我可以使用 window.onhashchange。问题是 window.onhashchange 永远不会触发,所以我无法拦截后退按钮并弹出历史堆栈。有任何想法吗?我最好在服务器端使用 javascript 进行编码吗?

【问题讨论】:

标签: javascript back


【解决方案1】:

好吧,我解决了一个问题。我在 PHP 中的表单子类默认使用 POST,因为我知道这更安全。这会在使用返回按钮时导致烦人的重新提交问题。我现在在我的日历页面中使用 GET 来解决这个问题。我仍然对 Netbeans 中的 JS 调试感到困惑。我从来没有让脚本在单个文档中的断点处停止。我之前已经让它与外部 javascript 源一起工作,但这不再有效。如果我可以输出到控制台但没有可以查看输出的窗口。我被告知 window.alert 不再适用于 Chrome 中的某些事件。我完全失明了!更让人恼火的是,我花了一段时间才意识到 javascript 文件已被缓存,并且更改不会反映在行为中。我已将随机数放入解决此问题的脚本标记中。当我在 Chrome 中使用 netbeans 连接器进行调试时,我不知道为什么这不会强制刷新 js 文件。总而言之,这似乎是一个非常混乱的工具链。

【讨论】:

    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 2010-12-13
    • 2015-08-12
    • 2013-04-29
    • 1970-01-01
    • 2013-03-02
    • 2018-04-29
    • 2016-01-22
    相关资源
    最近更新 更多