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

javascript - 检测用户是否使用了返回按钮

我的网页在加载页面时运行 javascript 函数。但是,如果用户使用后退按钮返回此页面,我不希望该功能运行。如何使用 javascript 防止这种情况发生?

0 投票
2 回答
998 浏览

asp.net - 单击浏览器的后退按钮时的动态 Web 用户控制问题

我有一个 .aspx 页面,我在其中动态地将 Web 控件添加到面板。问题是当我点击浏览器的后退按钮时,它显示的页面版本不再存在于服务器端,因为控件是动态添加的。假设我的 aspx 动态添加了 Control1。从那里,我单击一个加载 Control2 的按钮。此时,如果我按下浏览器的返回按钮,它会显示带有 Control1 的页面,但 Control1 在服务器端不再存在,所以如果我与之交互,就会出现一些不稳定的行为。对此有什么想法吗?

非常感谢。

0 投票
1 回答
95 浏览

android - 如果用户使用后退按钮,如何处理来自后台线程的反馈?

我有以下问题:

我有一个活动,用户可以在其中开始网络搜索,显示一个新活动以显示进度条,直到显示结果。现在用户可以等待结果或者考虑搜索参数,点击返回按钮并触发新的搜索。搜索在异步任务中运行,因此如果用户回击,搜索仍会运行。在线程完成的那一刻,它会调用旧活动上的一些方法,导致活动显示一个对话框。

这会导致系统崩溃,因为对话框试图通过对不再出现在屏幕上的活动的引用来显示自己。

如何实现仅在活动仍处于活动状态时才显示的对话框?

0 投票
3 回答
7979 浏览

asp.net - 如何处理表单提交 ASP.NET MVC 后退按钮?

我有一个表单,允许用户输入数据然后提交。如果此操作结果一切正常,那么我会将用户重定向回感谢页面。

我现在的问题是,当用户单击后退按钮时,他们将能够返回表单页面并且输入仍然存在。

如果用户再次点击提交,我会得到一些潜在的奇怪错误。

那么就asp.net mvc而言,处理点击后退按钮的用户的最佳方式是什么?

谢谢!

0 投票
13 回答
118666 浏览

browser - 防止浏览器中的 iframe 缓存

如何防止 Firefox 和 Safari 缓存 iframe 内容?

我有一个简单的网页,带有 iframe 到不同网站上的页面。外页和内页都有 HTTP 响应标头以防止缓存。当我在浏览器中单击“返回”按钮时,外部页面可以正常工作,但无论如何,浏览器总是会检索 iframed 页面的缓存。IE 工作得很好,但 Firefox 和 Safari 给我带来了麻烦。

我的网页看起来像这样:

var变量总是变化的。尽管 iframe 的 URL 已更改(因此,浏览器应该向该页面发出新请求),但浏览器只是获取缓存的内容。

我检查了来回的 HTTP 请求和响应,我注意到即使外部页面包含<iframe src="webpage2.html?var=222" />,浏览器仍然会获取webpage2.html?var=111.

这是我到目前为止所尝试的:

  • 使用随机 var 值更改 iframe URL
  • 将 Expires、Cache-Control 和 Pragma 标头添加到外部网页
  • 将 Expires、Cache-Control 和 Pragma 标头添加到内部网页

我无法使用任何 JavaScript 技巧,因为我被同源策略阻止了。

我的想法不多了。有谁知道如何阻止浏览器缓存 iframed 内容?

更新

我按照 Daniel 的建议安装了 Fiddler2 进行另一次测试,不幸的是,我仍然得到相同的结果。

这是我进行的测试:

  1. Math.random()外页使用JSP生成随机数。
  2. 外页在网页上显示一个随机数。
  3. 外页调用iframe,传入一个随机数。
  4. 内页显示一个随机数。

通过这个测试,我可以准确地看到哪些页面正在更新,哪些页面被缓存了。

视觉测试

为了快速测试,我加载页面,导航到另一个页面,然后按“返回”。结果如下:

原始页面:

  • 外页:0.21300034290246206
  • 内页:0.21300034290246206

离开页面,然后回击:

  • 外页:0.4470929019483644
  • 内页:0.21300034290246206

这表明内部页面正在被缓存,即使外部页面在 URL 中使用不同的 GET 参数调用它。由于某种原因,浏览器忽略了 iframe 正在请求新 URL 的事实;它只是加载旧的。

提琴手测试

果然,Fiddler 证实了同样的事情。

(我加载页面。)

外页被调用。HTML:

http://ipv4.fiddler:1416/page1.aspx?var=0.21300034290246206被调用。

(我离开页面然后回击。)

外页被调用。HTML:

http://ipv4.fiddler:1416/page1.aspx?var=0.21300034290246206被调用。

好吧,从这个测试来看,Web 浏览器似乎没有缓存页面,但它正在缓存 iframe 的 URL,然后对该缓存的 URL 发出新请求。但是,我仍然对如何解决这个问题感到困惑。

有人对如何阻止网络浏览器缓存 iframe URL 有任何想法吗?

0 投票
7 回答
73795 浏览

asp.net - 使用浏览器后退按钮进行 ASP.NET 身份验证登录和注销

我正在寻找一种解决方案,让用户在注销后使用浏览器的后退按钮导航到上一页。

我在 asp.net 中构建了一个 Web 应用程序,并使用自定义成员资格提供程序进行身份验证和授权。一切正常,除非用户单击注销链接以注销应用程序并重定向到默认封面,如果使用单击浏览器上的 BACK BUTTON,它实际上会回到他们之前的位置并且数据仍会显示。

当然他们不能在那个页面上做任何事情,点击任何链接他们将再次重定向到登录页面。但是这些信息显示让很多用户感到困惑。

我只是想知道是否有任何方法可以清除浏览器的历史记录,因此使用无法返回,或者当他们单击后退按钮并让他们重定向到登录页面时。

谢谢

0 投票
2 回答
813 浏览

javascript - iframe 中的后退按钮(类似 iGoogle 的门户的小部件)

我正在尝试创建一个具有自己的后退和前进按钮的小部件(基本上是一个 iframe)。也就是说,当我点击小部件后退按钮时,只有 iframe 会返回,而不是整个小部件容器(类似 iGoogle 的门户)

我添加了以下链接:

当我将我的小部件加载为常规网页时,它可以工作,但在 iframe 中使用它时则不行。

我用谷歌搜索了一下,找到了这篇文章:

http://www.bennadel.com/blog/1592-Getting-IFRAME-Window-And-Then-Document-References-With-contentWindow.htm

也许与该 contentWindow 属性有关,但到目前为止还没有。问题是我无法获取门户使用的框架的名称(无论如何都是随机的)

我觉得我错过了什么……有什么提示吗?

谢谢!

0 投票
2 回答
9003 浏览

javascript - iframe 父窗口的 Javascript 后退按钮

我有一些带有 iframe 的页面。我想在 iframe 中添加一个链接/按钮,以使浏览器返回历史记录中的一页。但我希望 PARENT 回去,而不是 iframe 本身。

我最初有这个,这使得 iframe 页面返回(如果存在):

我试过了window.parent.history.back()window.parent.document.history.back()但都没有。从父级访问 iframe 不存在跨域问题,反之亦然。

0 投票
2 回答
12139 浏览

jquery - 当用户点击浏览器后退按钮时提醒用户 - 有充分的理由

我知道这属于这里的禁忌,请不要回复“你不应该这样做”等。

我在向导中有一个很长的表单,一些用户太习惯于使用浏览器的后退和前进按钮,他们使用这些按钮而不是表单向导上的“后退”和“下一步”按钮。如果他们点击浏览器的后退按钮,他们将丢失所有的表单数据(这很麻烦,因为表单太长了)。

是否可以显示一个警报,什么时候会有一个“带我离开这里”按钮和一个“取消”按钮,所以如果他们点击取消,它将取消后退按钮的功能?

0 投票
5 回答
20086 浏览

iphone - 单击导航栏中的“返回”按钮时阻止动画?

我的应用程序有一个导航控制器,我不希望它有任何动画:

  • 要在推送视图时防止动画,很容易,通过 pushViewController:animated: 方法

  • 但是当我点击这个子视图上的“后退”按钮时,有一个动画!KO!我能做些什么来防止这个动画?