首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript后退按钮-停止初始加载的后退按钮

Javascript后退按钮-停止初始加载的后退按钮
EN

Stack Overflow用户
提问于 2010-05-30 00:22:06
回答 2查看 1.1K关注 0票数 0

我使用javascript的后退按钮链接和前进按钮链接来控制模式/lightbox窗口中的用户历史记录。

我遇到的挑战是,当模式窗口启动时,“后退”和“前进”按钮出现供用户单击,如果在窗口打开时单击初始的javascript后退按钮,它实际上会关闭模式窗口,因为javascript历史记录会将用户带回打开模式窗口之前的页面。

因此,在本质上,我试图禁用"back“按钮,使其在模式/轻型箱的初始加载上不起作用。

这个是可能的吗?以下是正在发生的事情的演示。http://www.apus.edu/_test/evan/modal/start.htm

代码语言:javascript
复制
<a href="javascript:history.go(-1)">Back Button</a> 
<a href="javascript:history.go(1)">Foward Button</a>
EN

回答 2

Stack Overflow用户

发布于 2010-05-30 00:29:32

我不能确切地确定我是否理解您对模式窗口所做的事情,但是我想到的第一件事就是编写一个函数,并将history.go(-1)包装在一个条件

代码语言:javascript
复制
function goBackIfAppropriate() {
  if( /* <check goes here> */ ) {
    history.go(-1);
  }
}

在您的标记中

代码语言:javascript
复制
<a href="javascript:goBackIfAppropriate()">Back Button</a> 

为了不在回答结束时不提及任何jQuery:请查看"jQuery烧烤:返回按钮和查询库“

更新:

好的,所以我们得到的here是history.go在不同浏览器的iframe中不一致的行为。Firefox3似乎能做你想做的事,Chromium不能。你能做的就是给你的“后台”-link提供一个id

代码语言:javascript
复制
<a href="javascript:history.go(-1)" id='back_button'>Back</a>

然后,在加载iframe-content之后,获取链接:

代码语言:javascript
复制
var iframe = document.getElementsByTagName("iframe")[0];
var link =  iframe.contentDocument.getElementById("back_button");
link.parentNode.removeChild(link);

或(使用jQuery ;)

代码语言:javascript
复制
$("iframe").contents().find("#back_button").remove();

或者用它做任何你喜欢的事情。

票数 0
EN

Stack Overflow用户

发布于 2013-11-12 13:10:42

试试history.pushState(null, '', '#stay');

*据我所知,这需要具有HTML5功能的浏览器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2935766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档