<script type="text/javascript">//<![CDATA[ if(getCookie('firefoxIframe')){ document.write('<p id="addAd"><a href="cookie.html">点击这里删除这个iframe</a></p>'); document.write('<iframe height="" width="" marginheight="0" marginwidth="0" frameborder="0" src="nAdPre.swf"></iframe>'); }else{ document.write('<p id="addAd"><a href="cookie.html">点击这里增加一个iframe</a></p>'); } //]]></script> 打开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('<p id="addAd"><a href="cookie.html">点击这里增加一个iframe</a></p>'); //把上面的代码修改成为 document.write('<iframe src="#" style="display:none;"></iframe>'); document.write('<p id="addAd"><a href="cookie.html">点击这里增加一个iframe</a></p>');
推荐整理分享Firefox返回时Iframe的显示Bug的解决方法(firefox允许弹出窗口),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:火狐浏览器返回上一页,手机firefox回到主页,firefox页面,firefox恢复关闭页面,firefox恢复关闭页面,Firefox返回时总是到顶部,firefox f12,Firefox返回时总是到顶部,内容如对您有帮助,希望把文章链接给更多的朋友!
全国哀悼日网站页面变成灰色的filter方法 为方便站点哀悼,特提供css滤镜代码,以表哀悼。以下为全站CSS代码。直接在*.css文件最前面加入body{filter:Gray;}或者html{filter:progid:DXImageTransform.Microsoft.Ba
使网页成黑白色调的滤镜 stylehtml{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}/style只在ie下可以用stylehtml{filter:Gray;}/style
css滤镜实现页面灰色黑白色效果代码 淘宝的代码html{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);-webkit-filter:grayscale(1);}CSS3greyscale滤镜实现如下测试代码:.gray{-webkit-filter:grayscale(%);-mo