当前位置:  编程技术>WEB前端

Firefox返回时Iframe的显示Bug的解决方法

    来源: 互联网  发布时间:2014-10-04

    本文导语:  //if(getCookie('firefoxIframe')){ document.write('点击这里删除这个iframe'); document.write(''); }else{ document.write('点击这里增加一个iframe'); } //]]> 打开Bug演示,由于cookie不存在,显示的三个flash都是通过Iframe实现的  点击“点击这里增加一个ifr...

//if(getCookie('firefoxIframe')){
document.write('点击这里删除这个iframe

');
document.write('');
}else{
document.write('点击这里增加一个iframe

');
}
//]]>
打开Bug演示,由于cookie不存在,显示的三个flash都是通过Iframe实现的 
点击“点击这里增加一个iframe广告”,跳转到一个新的页面写入名为firefoxIframe的Cookie 
点击“返回”或者浏览器的返回按钮,回到Bug演示页面,发现iframe里面的flash错位,即位置2的iframe链接的flash并没有载入,显示的是位置3的flash,位置3的显示的是位置4的flash,位置4的flash却依旧存在。 
关闭标签页(不是关闭整个浏览器,如果关闭整个浏览器Cookie也失效)或新打开一个标签页重新载入该页面,4个Iframe正常显示4个flash 
此时如果点击“点击这里删除这个iframe广告”,跳转到新页面删除Cookie,返回也发现Iframe中的flash错位 
如果写入Cookie或者删除Cookie时,不通过浏览器的返回,直接通过网址访问,则不会出现错位 
简单分析和解决方案
似乎Firefox返回时,Javascript重新执行了,但是Iframe并未依据src属性重新载入,而是给Iframe和src以类似编号似的配对,而由于返回时Javascript的执行,导致Iframe多了一个(或少了一个),这就导致后面的配对错位。

以上仅为猜测,但这的确是Firefox(2.0.0.3)的一个bug,IE返回时Javascript重新执行,并且Iframe的依据src重新载入,Opera返回时Javascript不重新执行,页面没有变化。

解决方案是在文本中增加一个隐藏的Iframe来占位,上面代码修改如下代码如下:

document.write('点击这里增加一个iframe

');
//把上面的代码修改成为
document.write('');
document.write('点击这里增加一个iframe

');

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Firefox 23 中文版全新发布
  • linux上大家用的大都是firefox把。那你们用的是什么firefox数据同步插件呢?另外鼠标手势插件呢?
  • redhat9.0下,我安装了紫光输入法和firefox浏览器,结果发现在firefox下用“Ctrl-Shift”切换不出输入法,怎么办?有其他输入法或者浏览
  • linux 怎样 自启动 firefox 跪求指点。。。。
  • firefox 解压后不能运行
  • ubuntu下升级firefox问题
  • 网页开发FireFox插件 Firebug
  • Linux下安装FireFox下问题,急!
  • 求助,firefox安装flash的问题,第一次发贴
  • linux命令行下,无法运行firefox
  • FireFox在Linux如何编译?哪位高人能否指点一下。
  • 有没有搞错啊,CSDN的blog不支持Firefox?
  • fc9下firefox问题
  • Linux下的中文输入与Firefox的问题,谢谢!
  • firefox脱机工作问题
  • firefox看电影
  • 下了一个?firefox1.0?for?linux,但解压后?却不知怎么打开它,希望帮助,谢.? 分噢
  • Firefox 扩展开发包 Jetpack
  • Firefox for iOS
  • 沙盒中的 FireFox 浏览器 Ironfox
  • 请教几个firefox开发的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    redhat9.0下,我安装了紫光输入法和firefox浏览器,结果发现在firefox下用“Ctrl-Shift”切换不出输入法,怎么办?有其他输入法或者浏览 iis7站长之家