繁体   English   中英

更改浏览器的后退按钮行为

[英]Change back button behaviour of browser

在没有目标的情况下发布以便重新加载 web 页面似乎对某些事情很有用 - 例如编写登录页面。 我在 PHP 中实现了一个日历,它利用了这一点。 It reloads an object from the session (or creates a new one if not present), applying any changes that result from the post then saves the object back to the session. 问题是这样的。 如果我点击后退按钮,我不想通过每次单击日历按钮返回 go,而是希望在到达日历页面之前跳回页面。 不仅如此,如果我将 go 一个接一个地返回一个日历页面,我会收到一个烦人的“确认表单重新提交”。 我在每个帖子的 # 之后实现了一个递增值,以便我可以使用 window.onhashchange。 问题是 window.onhashchange 永远不会触发,所以我无法拦截后退按钮并弹出历史堆栈。 有任何想法吗? 我是否最好在服务器端使用 javascript 进行编码?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM