更改了iframe的src,父页面 执行history.back()或者history.go(-1),返回不了父页面的上一页,而是iframe切换上一页

我给你介绍个对象吧! 2020-05-15 02:44:50
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta charset="UTF-8"/>

</head>
<body>
<div id="click1">点击</div>
<div id="click2">点击</div>
<div id="click3">点击</div>
<div id="click4">点击</div>
<div id="click5">点击</div>
<div id="click6">点击</div>
<div id="click7">点击</div>
<div id="click8">点击</div>

<div class="frame"><iframe src="child1.html" frameborder="0" name="child"></iframe></div>
<div class="back">
<a href="javascript:self.history.back(-1);">123</a>
</div>
</body>
<script src="../jquery.min.js"></script>
<script>
$(function(){
$("#click1").bind('click',function(){
$(".frame iframe").attr('src','./child1.html')
})
$("#click2").bind('click',function(){
$(".frame iframe").attr('src','./child2.html')
})
$("#click3").bind('click',function(){
$(".frame iframe").attr('src','./child3.html')
})
$("#click4").bind('click',function(){
$(".frame iframe").attr('src','./child4.html')
})
$("#click5").bind('click',function(){
$(".frame iframe").attr('src','./child5.html')
})
$("#click6").bind('click',function(){
$(".frame iframe").attr('src','./child6.html')
})
$("#click7").bind('click',function(){
$(".frame iframe").attr('src','./child7.html')
})
$("#click8").bind('click',function(){
$(".frame iframe").attr('src','./child8.html')
})
})
</script>
</html>

简单页面就这样,就是点击不同按钮给iframe加不同的src,然后,在父窗口中调用history.go(-1),或者history.back(-1)时,就跳不回父页面的上级页面了,目前就想实现这个功能,请问应该怎么处理呢?
...全文
764 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
2020-05-15
  • 打赏
  • 举报
回复
onload的时候记录一下history长度,再减一下
  • 打赏
  • 举报
回复
引用 8 楼 起个类名好难 的回复:
有一篇博客你可以参考看一下https://www.cnblogs.com/yuxiaole/p/9771858.html,一般我处理这种事件都是新窗口打开一个新页面。
哦,了解你说的那种运作方式了,下次再有这种问题,我用你这种方法试试
  • 打赏
  • 举报
回复
引用 7 楼 weixin_44088954 的回复:
[quote=引用 5 楼 囧 的回复:]

<a href="javascript:self.history.go(1 - self.history.length);">123</a>
不好意思老哥,分给错人了,第二次在这里发帖子,不是很懂,抱歉[/quote] 不过你这个还是有问题的,如果不是从第一级页面开始进的话,之前保存的历史,都在,也就是说,我用笨法子去记录的当前页的历史记录是准确的,而你的那个是不准确的
前端韭菜 2020-05-15
  • 打赏
  • 举报
回复
有一篇博客你可以参考看一下https://www.cnblogs.com/yuxiaole/p/9771858.html,一般我处理这种事件都是新窗口打开一个新页面。
  • 打赏
  • 举报
回复
引用 5 楼 囧 的回复:

<a href="javascript:self.history.go(1 - self.history.length);">123</a>
不好意思老哥,分给错人了,第二次在这里发帖子,不是很懂,抱歉
  • 打赏
  • 举报
回复
引用 5 楼 囧 的回复:

<a href="javascript:self.history.go(1 - self.history.length);">123</a>
老哥,稳~~
2020-05-15
  • 打赏
  • 举报
回复

<a href="javascript:self.history.go(1 - self.history.length);">123</a>
Vegdie 2020-05-15
  • 打赏
  • 举报
回复
引用 3 楼 weixin_44088954 的回复:
问题已经解决了,笨法子,也没想出来什么好的方法,我的做法是在全局变量中设置一个更换iframe src次数的计数器,默认为0,每次点击切换iframe的src的时候,先判断是不是跟上次点击的是一样的,如果是,不作为,如果不是,将计数器-1,在使用自定义的history.go()中不使用-1了,把全局的计数器带进去。意思就是iframe增加了多少个历史记录,直接把他们跳过去
解决了就好,我也研究了一下下,整天好几个提醒,我也不知道我怎么活跃了
  • 打赏
  • 举报
回复
问题已经解决了,笨法子,也没想出来什么好的方法,我的做法是在全局变量中设置一个更换iframe src次数的计数器,默认为0,每次点击切换iframe的src的时候,先判断是不是跟上次点击的是一样的,如果是,不作为,如果不是,将计数器-1,在使用自定义的history.go()中不使用-1了,把全局的计数器带进去。意思就是iframe增加了多少个历史记录,直接把他们跳过去
  • 打赏
  • 举报
回复
引用 1 楼 北极光~ 的回复:
不要删我的帖子,我不要分,记住,web方面的问题不要邀请我!我是初学者,JS更不要说啦,不知道为什么最近一直邀请我到web区回答问题,我原先在C++、C那里的
😂第二次在这里发帖,我也不知道为什么会邀请你,可能你比较活跃吧
Vegdie 2020-05-15
  • 打赏
  • 举报
回复
不要删我的帖子,我不要分,记住,web方面的问题不要邀请我!我是初学者,JS更不要说啦,不知道为什么最近一直邀请我到web区回答问题,我原先在C++、C那里的

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧