在调整iframe大小时,如何防止swf刷新?

时间:2009-01-21 17:30:48

标签: javascript firefox iframe flash refresh

我正在调整iframe的大小,当我在Firefox中执行此操作时,内容会刷新。

我有一个扩展的swf,并且在Firefox中当iframe扩展以容纳swf时,swf出现在其正常位置。

在IE中,这不会发生。

任何人都知道如何阻止Firefox中的刷新?

由于


修改

好的,我认为该页面没有刷新,只需在swf上查看:

http://antoniocs.org/iframe/index_.html

你可以看到,当重新标注尺寸时,在Firefox 3中有一个快速的“闪光”,并且swf返回到其初始状态(未展开),这在IE中不会发生。

代码是所有客户端的,因此如果查看页面的来源,您可以查看所有代码。

4 个答案:

答案 0 :(得分:4)

安东尼奥,我担心问题出在Firefox自己身上。当Gecko检测到iFrame宽度的变化时,它重新绘制页面并导致“刷新”。除了使用不同的技术之外,我无法改变这种行为。

我确认其他基于Gecko的浏览器也存在问题(特别是Camino和Flock)。我无法在基于WebKit的浏览器(Chrome和Safari)中复制它。

答案 1 :(得分:3)

似乎设置position: absolute;.cssText会刷新框架。

解决方法是将style="position: absolute;"添加到<iframe>并设置您的css:

this.mrec_div_idObj.style.left = ((offsetLeftIframe) - (dimX - disX)) + "px";
this.mrec_div_idObj.style.top = (offsetTopDiv - disY) + "px";
this.mrec_div_idObj.style.zIndex = 99999999;
this.mrec_div_idObj.style.margin = 0;
this.mrec_div_idObj.style.padding = 0;

我已对此进行了测试,适用于Firefox 3

答案 2 :(得分:0)

没有onresize代码。

很简单!我有一个宽度为300,高度为250的iframe,当我将它们更改为500和400时,firefox刷新内容,我想阻止它。

答案 3 :(得分:0)

这是一个您可以看到代码的页面 - &gt; http://antoniocs.org/iframe/index_.html

重新调整iframe大小的代码会在3秒后运行,您可以看到swf(如果已扩展)会以初始(非扩展)形式显示。

扩展swf只需将鼠标悬停在它上面。

即iframe中没有刷新。