有谁知道如何在闪存中添加iframe?

时间:2010-04-17 08:59:34

标签: flash

任何人都知道如何在flash中添加iframe?

html是

<iframe width="100%" height="768" frameborder="no" scrolling="no" src="http://www.yoursite.com"> </iframe>

2 个答案:

答案 0 :(得分:3)

简短回答

不幸的是,不可能找出另外一种做你想做的事情,因为黑客不值得这么麻烦。

答案稍长

有一个hack涉及在HTML DOM中创建iframe,并通过在flash中使用ExternalInterface来操纵iframe。 iframe必须在闪存之上,这可以通过将嵌入式flash影片的wmode设置为opaque然后操纵它的z-index来完成。虽然从表面上看这似乎是一种不错的技术,但它伴随着一系列后续问题。

例如,由于flash影片不在iframe中,因此您无法在iframe上放置任何内容,例如对话框或类似内容。因此不可能部分遮挡iframe。此外,Flash影片的性能可能会受到影响,因为它不再拥有自己的渲染窗口,但必须由浏览器合成。我听说过性能降低约25%的数字,但是我还没有看到实际的测量结果和正确的测试结果,所以请你带上一粒盐。

另一种可能性可以解决部分遮挡问题,但肯定会在未来产生问题。你可以做的是将flash的wmode设置为透明,并让iframe显示 underneith flash电影。同样,您将不得不通过ExternalInterface使用JavaScript来操作它。这意味着你可以部分遮挡iframe,但你需要注意实际使flash电影在需要的地方透明,而且,flash电影需要充当iframe之前已经获得的任何事件的代理,因为当被闪光遮挡时,它不会得到任何一个。因此,任何点击,按键等都必须转发到iframe,这肯定会造成伤害。

我知道这很糟糕,我希望至少AIR的HTML功能(即webkit)可以进入闪存,但目前这是我们得到的最好的,而且不是很漂亮。

答案 1 :(得分:2)

没有。将浏览器框架放在Flash中是不可能的。您可以获得一些富文本功能,但远不是完整的HTML渲染器。

您可以让Flash在嵌入文档中与JavaScript进行通信,并告诉它将iframe添加到HTML文档中,然后将其放在Flash的顶部,使其看起来像就像是它的一部分它的。但就是这样。