问题标签 [back-button]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
61418 浏览

browser - Web 浏览器中的后退按钮如何工作?

我在网上搜索了这个问题,但一无所获:

后退按钮的逻辑是什么?当我们点击 Web 浏览器上的后退按钮时会发生什么?

我真的很想了解更多。

谢谢你。

0 投票
1 回答
175 浏览

asp.net - 在 ASP.NET 中丢失向后导航

我有一个带有提交按钮的 ASP.NET2.0 网页。当用户单击时,我会即时生成一个 XML 文件并将其作为结果返回。

这是代码:

这段代码正是我想要的。但是,浏览器不会将该 XML 文件识别为新页面,因此“返回”按钮不会将我带回原始页面。为什么以及如何克服它?

0 投票
1 回答
2000 浏览

caching - 在返回按钮上强制应用程序刷新

我有一个网络应用程序,它在页面加载后通过 ajax 获取信息。当用户离开页面,然后点击浏览器中的“返回”按钮时,他们会看到页面在初始加载时的样子。我需要做的是让所有 javascript 像点击“刷新”按钮一样运行。

我尝试设置 Cache-Control 和 Pragma 标头,但这没有帮助。我知道这是可能的,因为谷歌在他们的许多应用程序中都是这样做的,比如 gmail 和谷歌阅读器。有任何想法吗?

谢谢!

0 投票
3 回答
26780 浏览

php - 表单提交后自动开始文件下载

我有一个用户在线填写的网络表单。当他们按下提交时,它将开始为他们下载文件。

目前,我处理表单提交并为用户生成一个合适的文件并使用合适的标题将其关闭。例如...

但是,由于这会立即开始下载,因此原始表单会被浏览器留在屏幕上。

一旦下载完成(或在下载开始之前),我真的很想去一些“谢谢”屏幕。我知道这是可能的,因为您访问的几乎每个下载站点都会这样做(通常会在下载开始之前给您灌满广告)。

那么,如何显示一秒钟后开始下载的“谢谢”屏幕?

提出的任何解决方案将如何影响后退按钮的行为,因为我不希望在不重新填写表单的情况下再次下载文件?

我在服务器上使用 PHP,并且可以依赖客户端上可用的 Javascript(和 jQuery)。

谢谢你。

0 投票
1 回答
2543 浏览

javascript - 子 iframe onload 事件能否在父窗口上触发 URL 更新,并且仍然保留浏览器上的后退按钮功能?

问题在于 iframes/bookmarkablity 和后退按钮功能。

我面临的这个问题是如何在不丢失后退按钮功能的情况下创建带有可书签 url 的 iframe。假设所有页面都在同一个域中,并且子页面通知父页面加载子页面以更新 window.location.hash 属性修改当前浏览器地址栏。
url 的更新在 IE/FF/webkit 上运行良好。但是后退按钮在 IE-8 中按预期工作,但浏览器后退按钮在 FF/webkit 中不起作用(只是 url 更改前一页未加载)。如果我们不更新 window.location.hash 属性,则返回按钮有效,但窗口 url 没有意义。
有没有办法在浏览器中获得这个功能,或者有没有更简单更好的方法(任何其他 js 库)。所有页面都从同一台服务器提供,以解决权限问题。

以下文件是

  • index_parent.html(包含 iframe)
  • 儿子.html
  • 孙子.html

儿子和孙子是链接的,并且父 iframe 中的儿子和孙子之间的任何导航都会更新地址栏,但会破坏 FF 中的后退按钮。

猫 index_parent.html

猫儿子.html

猫孙子.html

0 投票
6 回答
11480 浏览

javascript - 后退按钮处理动态表单

我有一个带有文本字段数组的表单。用户(通过 javascript)可以向表单添加任意数量的文本字段。提交表单并按下后退按钮后,表单仅显示第一次呈现时原始表单上的字段(任何添加的文本字段都将丢失)。允许后退按钮以用户提交表单时的状态呈现表单的最佳方法是什么?欢迎任何想法,我尝试过的一些事情是:

  • 将表单数据放入 cookie 中(由于几个原因,这不太好用,但对我来说最大的杀手是 cookie 的大小限制为 4K)
  • 将表单数据放入会话中
  • 通过 AJAX 提交表单,然后管理历史记录

谢谢您的帮助。我已经在我的网站http://fishtale.org/formtest/f1.php上发布了一份测试表格。这里还有一个简单的表格,展示了我提到的行为:

这类似于我前段时间发布的一个问题,Best Way For Back Button To Leave Form Data,但是,此表单的元素是由用户修改的。

0 投票
1 回答
6394 浏览

asp.net - 当用户单击浏览器的后退按钮时防止回发

我有一个向多个用户发送电子邮件的网页(在线分发列表)。单击提交按钮并发送电子邮件后,会显示一个状态页面,其中列出了已发送的电子邮件数量、错误和其他信息。如果用户单击后退按钮,则重新发送电子邮件。我怎样才能防止这种情况?

注意:浏览器确实会在实际发送电子邮件之前提示用户“重新提交”或“重新发送”数据到页面,但这并不能阻止我的用户点击它,然后想知道为什么发送了两份电子邮件副本。

环境:

  • 服务器:C#、ASP.NET 2.0、IIS6
  • 客户端:任何浏览器(我不想要 SmartNavigation 等特定于 IE 的解决方案)
0 投票
2 回答
1166 浏览

javascript - 后退按钮过滤器不起作用

我已经配置了一个过滤器来禁用我的浏览器后退按钮并将用户显示为会话已过期。当我在我的应用程序原型中配置它时,它按预期工作,但是当我将它合并到我的(spring MVC)应用程序时它不起作用。

我已经像这样配置了我的过滤器

我有这样的过滤器内容

我已经引入了日志语句来查看我的过滤器是否正在执行。我可以看到它正在执行。

为什么会这样?

0 投票
2 回答
4022 浏览

javascript - 如何在 MAC Safari 中按下后退按钮时强制刷新页面

我有两个使用 ASP.NET MVC 创建的 aspx 页面(A,B)。在文件 A 中,我有一些复选框和文本框。

当我移动到页面 B 并尝试通过按浏览器后退按钮(在 MAC Safari 中)导航到页面 A 时,页面没有得到刷新。该页面保留其旧值(用于复选框和文本框)。

当我在服务器端有断点时。我能够得到打击。

我确信调用了服务器端操作方法。MAC SAFARI 浏览器存在一些问题。

我在其他浏览器 IE 和 FF 中尝试了相同的用例,它似乎可以正常工作。

相当简单,但我在谷歌搜索时得到了正确的答案。

有人可以建议在 MAC 中解决这个问题吗?

谢谢 ,

维杰

0 投票
1 回答
756 浏览

c# - 浏览器后退按钮创建问题

我在页面上有一个动态生成的gridview,后面的代码也提供了排序。现在我使用链接从页面 A 移动到页面 B,这也可以正常工作。但是当我按下浏览器后退按钮并回到我的页面 A 并再次尝试排序时...页面 A 抛出异常...

有没有办法像我们正常编程按钮一样编程这个后退按钮..

谢谢

` 找不到列机器名。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。