火狐中很奇怪的history.go(-n)的问题 150
我主页面index.html内嵌了很多(n)个iframe每个iframe通过选项卡的方式进行了显示与隐藏当我操作iframeA时,比如我有个编辑按钮,点编辑在当前ifr...
我主页面 index.html 内嵌了很多(n)个iframe
每个iframe 通过选项卡的方式进行了显示与隐藏
当我操作iframeA时,比如我有个编辑按钮,点编辑在当前iframe转向另外一个地址,然后另外这个地址有一个回退的按钮,当点击回退按钮时:使用history.go(-1)的功能,退回到iframe原来的页面,这个功能是没有问题的。
问题:现在操作人员首先操作 iframeA进入到了编辑页面,此时并没有点回退。现在又转到另外一个选项卡操作了iframeB,iframeB同样也转向了编辑页面。这个时候再切换到iframeA来点击返回时,问题就出现了,其实是iframeB进行了返回,而不是iframeA。 这个问题很大了.... (这个问题希望解答下)
但是我也另辟蹊径找到了一个解决方案:我在每个页面记录了转向这个页面时的history.length 在返回的时候我直接 history.go(-记录的值)。这个方法在IE中是没有问题的,但是在火狐里却还是有问题,
比如场景还是如上面所说的,返回的效果是 iframeA与iframeB同时返回到了它的上一个页面,我现在的理解就是火狐与谷歌中的history(-n)的操作,并不是将iframe的url 返回到-n的历史记录上,而是让最后操作的n个iframe 返回到了-1的状态...(这个问题希望也能得到解答)
如果有一种解决方案无限感谢啊。。。。。。。 展开
每个iframe 通过选项卡的方式进行了显示与隐藏
当我操作iframeA时,比如我有个编辑按钮,点编辑在当前iframe转向另外一个地址,然后另外这个地址有一个回退的按钮,当点击回退按钮时:使用history.go(-1)的功能,退回到iframe原来的页面,这个功能是没有问题的。
问题:现在操作人员首先操作 iframeA进入到了编辑页面,此时并没有点回退。现在又转到另外一个选项卡操作了iframeB,iframeB同样也转向了编辑页面。这个时候再切换到iframeA来点击返回时,问题就出现了,其实是iframeB进行了返回,而不是iframeA。 这个问题很大了.... (这个问题希望解答下)
但是我也另辟蹊径找到了一个解决方案:我在每个页面记录了转向这个页面时的history.length 在返回的时候我直接 history.go(-记录的值)。这个方法在IE中是没有问题的,但是在火狐里却还是有问题,
比如场景还是如上面所说的,返回的效果是 iframeA与iframeB同时返回到了它的上一个页面,我现在的理解就是火狐与谷歌中的history(-n)的操作,并不是将iframe的url 返回到-n的历史记录上,而是让最后操作的n个iframe 返回到了-1的状态...(这个问题希望也能得到解答)
如果有一种解决方案无限感谢啊。。。。。。。 展开
2个回答
展开全部
您好!很高兴为您答疑。
因为iframe 中镶嵌的是一个个网页实例,您在一个页面镶入多个iframe时,其效果相当于将多个页面放在一起展示,而您这时候执行history.go(-1),根据该事件的载体位置不同,其作用域是不同的。在父框架下,就是全局有效,在子页面下就是本页面有效。
至于解决方案,第一、在ajax框架如此发达的当今,还在一个功能页面镶嵌那么多iframe本就不妥,还牵涉到了跨域问题,以后尽量避免;第二、在不想对现有结构大改的情况下,用记录reffer的方式,直接访问上一次的地址,达到回退的效果,但是此模式下在从缓存还是现网实际获取存在差别。此法是重新发起访问请求,之前的方式实际是去取缓存。
如果对我们的回答存在任何疑问,欢迎继续问询。
因为iframe 中镶嵌的是一个个网页实例,您在一个页面镶入多个iframe时,其效果相当于将多个页面放在一起展示,而您这时候执行history.go(-1),根据该事件的载体位置不同,其作用域是不同的。在父框架下,就是全局有效,在子页面下就是本页面有效。
至于解决方案,第一、在ajax框架如此发达的当今,还在一个功能页面镶嵌那么多iframe本就不妥,还牵涉到了跨域问题,以后尽量避免;第二、在不想对现有结构大改的情况下,用记录reffer的方式,直接访问上一次的地址,达到回退的效果,但是此模式下在从缓存还是现网实际获取存在差别。此法是重新发起访问请求,之前的方式实际是去取缓存。
如果对我们的回答存在任何疑问,欢迎继续问询。
更多追问追答
追问
用其它的方式我这里暂时还没考虑,主要就是问iframe.history.go(-n)的问题。
我就想了解 能不能单独的针对iframe 回退 ,另外 go(-n)时的实际作用,到底是回退到n的记录,还是最后操作的n个iframe 回退(-1)
追答
那个back即是回退到n的记录,也是回退所操作的当前页面的记录,主要看它所做用的域。请参看我上一段说明。
上海楠贝
2024-04-15 广告
2024-04-15 广告
TfS(Together for Sustainability )是一个由化工行业的主要公司发起的联合倡议,旨在提高化工供应链的环境、社会和治理绩效。TfS的成员公司包括巴斯夫,拜耳,赢创工业,汉高,朗盛和苏威等。TfS的执行方法包括对供应...
点击进入详情页
本回答由上海楠贝提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |