2

我正在调整 iframe 的大小,当我在 Firefox 中这样做时,内容会刷新。

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

在 IE 中,这不会发生。

任何人都知道如何防止在 Firefox 中发生刷新?

谢谢


编辑:

好的,我认为页面没有被刷新,只是 swf 请在以下位置查看:

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

您可以看到,在 Firefox 3 中进行重新尺寸调整时会出现快速“闪烁”,并且 swf 会返回其初始状态(未展开),但在 IE 中不会发生这种情况。

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

4

4 回答 4

4

安东尼奥,恐怕问题出在 Firefox 中。当 Gecko 检测到 iFrame 的宽度发生变化时,它会重新绘制页面并导致“刷新”。我知道没有办法改变这种行为,除非使用不同的技术。

I confirmed that the problem exists in other Gecko-based browsers as well (specifically Camino and Flock). I was not able to duplicate it in WebKit-based browsers (Chrome and Safari).

于 2009-01-27T18:04:27.780 回答
3

It seems to be that either setting position: absolute; or .cssText will refresh the frame.

The solution is to add style="position: absolute;" to your <iframe> and set your css like this:

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;

I've tested this and it works in Firefox 3.

于 2009-01-28T14:54:09.223 回答
0

没有 onresize 代码。

这很简单!我有一个宽度为 300 和高度为 250 的 iframe,当我将它们更改为 500 和 400 时,Firefox 会刷新内容,我想防止这种情况发生。

于 2009-01-22T09:04:56.477 回答
0

这是一个可以查看代码的页面 -> http://antoniocs.org/iframe/index_.html

调整 iframe 大小的代码在 3 秒后运行,您可以看到 swf(如果已扩展)以初始(未扩展)形式出现。

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

在ie中,iframe中没有刷新。

于 2009-01-22T12:11:31.420 回答