问题标签 [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.
javascript - 检测用户是否使用了返回按钮
我的网页在加载页面时运行 javascript 函数。但是,如果用户使用后退按钮返回此页面,我不希望该功能运行。如何使用 javascript 防止这种情况发生?
asp.net - 单击浏览器的后退按钮时的动态 Web 用户控制问题
我有一个 .aspx 页面,我在其中动态地将 Web 控件添加到面板。问题是当我点击浏览器的后退按钮时,它显示的页面版本不再存在于服务器端,因为控件是动态添加的。假设我的 aspx 动态添加了 Control1。从那里,我单击一个加载 Control2 的按钮。此时,如果我按下浏览器的返回按钮,它会显示带有 Control1 的页面,但 Control1 在服务器端不再存在,所以如果我与之交互,就会出现一些不稳定的行为。对此有什么想法吗?
非常感谢。
android - 如果用户使用后退按钮,如何处理来自后台线程的反馈?
我有以下问题:
我有一个活动,用户可以在其中开始网络搜索,显示一个新活动以显示进度条,直到显示结果。现在用户可以等待结果或者考虑搜索参数,点击返回按钮并触发新的搜索。搜索在异步任务中运行,因此如果用户回击,搜索仍会运行。在线程完成的那一刻,它会调用旧活动上的一些方法,导致活动显示一个对话框。
这会导致系统崩溃,因为对话框试图通过对不再出现在屏幕上的活动的引用来显示自己。
如何实现仅在活动仍处于活动状态时才显示的对话框?
asp.net - 如何处理表单提交 ASP.NET MVC 后退按钮?
我有一个表单,允许用户输入数据然后提交。如果此操作结果一切正常,那么我会将用户重定向回感谢页面。
我现在的问题是,当用户单击后退按钮时,他们将能够返回表单页面并且输入仍然存在。
如果用户再次点击提交,我会得到一些潜在的奇怪错误。
那么就asp.net mvc而言,处理点击后退按钮的用户的最佳方式是什么?
谢谢!
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 进行另一次测试,不幸的是,我仍然得到相同的结果。
这是我进行的测试:
Math.random()
外页使用JSP生成随机数。- 外页在网页上显示一个随机数。
- 外页调用iframe,传入一个随机数。
- 内页显示一个随机数。
通过这个测试,我可以准确地看到哪些页面正在更新,哪些页面被缓存了。
视觉测试
为了快速测试,我加载页面,导航到另一个页面,然后按“返回”。结果如下:
原始页面:
- 外页: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 有任何想法吗?
asp.net - 使用浏览器后退按钮进行 ASP.NET 身份验证登录和注销
我正在寻找一种解决方案,让用户在注销后使用浏览器的后退按钮导航到上一页。
我在 asp.net 中构建了一个 Web 应用程序,并使用自定义成员资格提供程序进行身份验证和授权。一切正常,除非用户单击注销链接以注销应用程序并重定向到默认封面,如果使用单击浏览器上的 BACK BUTTON,它实际上会回到他们之前的位置并且数据仍会显示。
当然他们不能在那个页面上做任何事情,点击任何链接他们将再次重定向到登录页面。但是这些信息显示让很多用户感到困惑。
我只是想知道是否有任何方法可以清除浏览器的历史记录,因此使用无法返回,或者当他们单击后退按钮并让他们重定向到登录页面时。
谢谢
javascript - iframe 中的后退按钮(类似 iGoogle 的门户的小部件)
我正在尝试创建一个具有自己的后退和前进按钮的小部件(基本上是一个 iframe)。也就是说,当我点击小部件后退按钮时,只有 iframe 会返回,而不是整个小部件容器(类似 iGoogle 的门户)
我添加了以下链接:
当我将我的小部件加载为常规网页时,它可以工作,但在 iframe 中使用它时则不行。
我用谷歌搜索了一下,找到了这篇文章:
也许与该 contentWindow 属性有关,但到目前为止还没有。问题是我无法获取门户使用的框架的名称(无论如何都是随机的)
我觉得我错过了什么……有什么提示吗?
谢谢!
javascript - iframe 父窗口的 Javascript 后退按钮
我有一些带有 iframe 的页面。我想在 iframe 中添加一个链接/按钮,以使浏览器返回历史记录中的一页。但我希望 PARENT 回去,而不是 iframe 本身。
我最初有这个,这使得 iframe 页面返回(如果存在):
我试过了window.parent.history.back()
,window.parent.document.history.back()
但都没有。从父级访问 iframe 不存在跨域问题,反之亦然。
jquery - 当用户点击浏览器后退按钮时提醒用户 - 有充分的理由
我知道这属于这里的禁忌,请不要回复“你不应该这样做”等。
我在向导中有一个很长的表单,一些用户太习惯于使用浏览器的后退和前进按钮,他们使用这些按钮而不是表单向导上的“后退”和“下一步”按钮。如果他们点击浏览器的后退按钮,他们将丢失所有的表单数据(这很麻烦,因为表单太长了)。
是否可以显示一个警报,什么时候会有一个“带我离开这里”按钮和一个“取消”按钮,所以如果他们点击取消,它将取消后退按钮的功能?
iphone - 单击导航栏中的“返回”按钮时阻止动画?
我的应用程序有一个导航控制器,我不希望它有任何动画:
要在推送视图时防止动画,很容易,通过 pushViewController:animated: 方法
但是当我点击这个子视图上的“后退”按钮时,有一个动画!KO!我能做些什么来防止这个动画?