问题标签 [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 投票
3 回答
4801 浏览

browser - 如何控制浏览器后退按钮

我想要一个点击浏览器后退按钮的确认窗口。如果我按是,那么上一页将被加载,否则我将留在同一页面?

任何建议都非常感谢..但请走上正轨..我的问题很直接

提前谢谢..

0 投票
1 回答
2212 浏览

jquery - ASP.NET MVC,jquery ajax,真正简单的历史

我正在开发一个 mvc 应用程序,该应用程序使用 jquery 来实现使用 jquery.load 和/或 jquery.ajax 动态加载页面内容。但是当用户在这类应用程序中使用返回按钮时,用户的结果往往是出乎意料的。我看过谷歌的 RSH 之类的文章声称可以解决这个问题,但我不确定如何使其与 ASP.NET MVC 框架结合 jquery 一起工作。

有没有人有关于如何在使用 jquery 的 ASP.NET MVC 应用程序中实现 Real Simply History(如谷歌的 RSH,jquery 可能也有插件)的示例或解释?

0 投票
1 回答
1041 浏览

asp.net - 加载过长的下拉列表时 Internet Explorer 后退按钮损坏

当我注意到某些页面的后退按钮不可用时,我正在处理一些 ASP.NET 2.0 页面 - 显示为灰色。并且单击它们旁边的下拉菜单显示了清晰的结果,就好像我刚来到这个页面一样。我查看了代码,试图找到专门禁用后退按钮的东西(重定向,聪明的 javascript),但什么也没找到。所以我开始拆开页面并注意到当两个特别大的下拉列表(一个有 38,000 个项目!)被注释掉时,后退按钮将再次可用。“注释掉”是指我没有在后面的代码中对它们进行数据绑定。

在我继承这个项目之前,这些页面似乎可以正常工作。我们所做的其中一件事是将服务器从 .NET 2.0 升级到 .NET 3.5,尽管代码仍然针对 2.0 框架。我怀疑这是罪魁祸首。

在 IE 6 和 IE 8 以及所有最新更新中都会出现此问题。它发生在包含我能找到的所有更新的 Server 2003 RC2 上,以及客户端已选择性更新但都运行 IE 6 的 Windows XP 机器上。

我的问题是,有没有人听说过这个,如果有,是什么原因造成的?它只是一个 Internet Explorer 错误吗?

0 投票
1 回答
4781 浏览

c# - 如何通过单击浏览器的后退按钮获得相同的页面

我在我的 aspx 页面中使用带有 c# 的 asp.net 我在此面板中有一个更新面板 我有一些指向其他站点的链接,这些链接在同一窗口中打开。单击这些链接后,当我通过浏览器的后退按钮返回时,我在更新面板上没有得到相同的结果...

0 投票
2 回答
1388 浏览

javascript - JavaScript 能否区分通过后退按钮或链接离开?

我的应用程序有几个选项卡的页面,这些选项卡可以简单地切换可见内容。但是,该页面还具有将选项卡添加到页面的链接。此外,应用程序会记住(使用 cookie)您上次查看的选项卡,以防页面被刷新(即使使用后退和前进按钮,严格的缓存设置也会导致刷新)。

我的问题是您第一次访问这组页面时,它应该显示第一个选项卡(Tab A)。然后,您单击一个链接,它会添加一个选项卡,它会记住该新选项卡(选项卡 B)。但是,如果您回击,现在看起来它什么也没做,因为它会记住并显示您上次单击的选项卡(选项卡 B)。

如果您单击前进到新页面,然后使用我们的应用程序内历史记录返回上一页,则记住选项卡 B 是理想的行为。但是,如果您单击后退按钮是不可取的,因为您希望它再次显示选项卡 A,就像您第一次到达时那样。

我的问题是 JavaScriptonunload事件是否可以检测到使用后退按钮或其他方式离开页面之间的区别。在这一点上,我希望它忘记它为该页面记住的任何选项卡。

0 投票
1 回答
1244 浏览

iphone - iPhone 开发人员:setHidesBackButton 隐藏按钮但让它工作..!

我不知道它是否应该发生,但是当我设置时:

[self.navigationItem setHidesBackButton:YES 动画:NO];

或者

self.navigationItem.hidesBackButton=YES;

它起作用了,按钮被隐藏了......但是如果我按下按钮应该在的区域,“隐形”按钮就会起作用..!这是对的..?

如果我真的想要一个不可见且不可操作的按钮,我需要在 leftBarButton 处设置一个空按钮..???

谢谢...

0 投票
3 回答
14332 浏览

iphone - 如何在导航栏后退按钮中显示自定义图像,而不是导航栏本身显示的默认按钮

在导航到已实现导航控制器的应用程序中的任何视图时,它会显示一个返回按钮以转到上一个视图。有没有办法可以使用自定义图像而不是默认图像?

0 投票
2 回答
2401 浏览

c# - Safari 和 Chrome 修改后退按钮上的表单数据

我在 Safari 和 Chrome 中遇到了这个奇怪的问题(适用于 Firefox 和 IE)。

  1. 我从这个复选框列表开始,它选中了第一个项目“A”,未选中项目“B”和“C”
  2. 然后我导航到另一个页面,该页面对复选框列表中出现的项目进行排序
  3. 我更改了列表中项目的顺序,所以它现在变为“B”、“A”、“C”
  4. 我按下后退按钮
  5. 该页面从服务器重新获取(我禁用了缓存),我检查了从服务器发送的响应,并且仍然检查了项目“A”并且不再是列表中的第一项。
  6. !!!奇怪的行为!!! 该页面已以新顺序“B”、“A”、“C”加载到浏览器中,但未选中“A”,而是选中了第一项“B”。

不知何故,检查项的位置似乎已通过按后退按钮恢复,并且从服务器发送的表单数据已被丢弃。

当我刷新页面时,顺序是“B”、“A”、“C”,现在检查了“A”项,一切看起来都很好。

在这两种情况下,页面都将 IsPostBack 设置为 false。

这是网络工具包中的错误吗?

试过了,清除缓存,进入隐私浏览模式,清除历史记录。还是一样的行为。

0 投票
3 回答
1348 浏览

javascript - jQuery:实时事件、表单和后退按钮的问题

我已经构建了一个非常复杂的小部件,其中包含“某种形式”。它有一个表单标签,但我通过 Ajax 等加载了很多东西。无法详细解释,代码太长,无法粘贴到这里。

现在,在我用于其中一个表单字段的“live('click', function()”中,我正在将几个值写入另一个表单的隐藏字段。效果很好,因为我可以在生成的代码。但是如果我离开页面然后点击后退按钮,值就消失了。

如果我在实时点击功能之外的那些字段中写入一些值,当我离开页面并使用返回按钮返回时,它们仍然存在。

但是我需要将值写入实时点击功能之外的隐藏字段(我将表单字段中的值插入其中)。

我不知道是什么原因造成的,也找不到解决方法(尽管我尝试了很多)。

有任何想法吗?

谢谢!

0 投票
3 回答
2595 浏览

javascript - 如何在页面重新加载时清除 HTML 表单,但在用户导航回页面时不清除?

我正在使用将一些数据以隐藏形式存储的技巧,以便能够持久保存它,以便当用户离开页面然后使用 BACK 按钮返回时,我可以将数据恢复到页面而无需再次访问服务器...

但是,这个技巧意味着当用户单击刷新或重新加载时会发生同样的事情......(甚至在 Firefox 中是 shift-reload)。我想检测到用户正在单击重新加载而不是单击后退按钮,以便我可以在重新加载时重新开始,但在用户导航离开和返回时仍然恢复以前的数据。

有没有办法做到这一点?我一直在调查 onbeforeunload 事件等,但还没有弄清楚任何事情。

编辑以解决乔希的“为什么?”的问题:

该页面是一个带有一堆 AJAX 过滤器的搜索结果页面。用户可能会花费相当长的时间来调整过滤器以获得他们想要的搜索结果集......然后如果他们点击离开页面或在 URL 栏中输入新地址......然后返回页面,如果我不做这样的事情,他们将不得不重新开始并再次进行所有过滤。对于我们为可用性测试带来的用户来说,这是一次非常令人沮丧的体验。

这是精通技术的用户可能通过打开新标签而不是单击/键入来解决的问题,但不幸的是,我们的绝大多数用户并不精通技术,因此显而易见的解决方案是让页面恢复当用户导航回页面时过滤器/结果。

另一方面,我可以想到用户可能重新加载页面的两个原因:

  1. 搜索页面上的结果中包含时间敏感元素,用户可能希望获得更多最新的结果。
  2. 有时可能会出现页面未正确加载的错误。在这两种情况下,如果我将页面恢复到保存状态,他们将获得相同的(旧的和/或损坏的)结果,而不是他们期望的新鲜/固定结果。

希望清除它。