在Flash中嵌入网页

时间:2009-07-03 15:58:04

标签: flash

我对Flash知之甚少,因此不会编程。我有一个PHP网站,显然是HTML,CSS,JS等。

我想要做的是允许用户全屏显示DOM的某些部分。所以我的问题是,有没有办法动态地围绕DOM的某些部分包装flash,以便允许对该部分进行全面筛选。

编辑:

目前的回复非常有趣,可能是唯一的选择。

但在我理想的世界里会有一个嵌入式flash对象,里面会有某种iframe或flash等效,所以渲染仍然由浏览器处理而不是flash本身。

4 个答案:

答案 0 :(得分:1)

标准Flash播放器没有iFrame的概念。使用AIR,您可以在Flash应用程序中嵌入浏览器(基于WebKit),但这仅适用于桌面应用程序。

唯一可行的方法就是让Flash通过ExternalInterface读取到DOM,拉入页面结构,然后在Flash中重新创建。这种复杂性取决于页面的复杂程度以及您如何选择呈现从DOM获得的内容。

答案 1 :(得分:0)

使用allowFullScreen =“true”ine embed tag

<embed src="kitchen.swf" allowFullScreen="true" bgcolor="#333333" width="1024" height="576"
 name="fullscreen" align="middle" type="application/x-shockwave-flash"
 pluginspage="http://www.macromedia.com/go/getflashplayer" />

答案 2 :(得分:0)

如果你问它是否会全屏显示页面的 HTML ,那么不 - 我之前从未听说过这样的事情(至少不是Flash)。

你可以通过增加内容的比例和父元素内部的元素来使用一些jQuery来完成这样的事情,但听起来似乎很难说。

答案 3 :(得分:0)

Flash非常受限于它可以自己呈现的HTML(粗体,斜体,下划线,a,ul,li和img,我认为是支持的唯一标签)在Flash Player中。 AIR呈现完整的HTML,但这根本无济于事。

您可以尝试使用html解析器。我没有花很多时间在flash中使用html,所以我不知道哪个解析器做得最好。这是一个看起来很好的东西:

http://code.google.com/p/htmlsprite/

一旦你的html在flash中正确呈现,剩下的就很容易了。 假设全屏将是您的全屏按钮。

fullscreen.addEventListener(MouseEvent.CLICK, fullscreenClicked);

function fullscreenClicked(event:MouseEvent):void{

switch(stage.displayState) {
                case StageDisplayState.NORMAL:
                    stage.displayState = StageDisplayState.FULL_SCREEN;
                    break;
                case StageDisplayState.FULL_SCREEN:
                default:
                    stage.displayState = StageDisplayState.NORMAL;
                    break;
            }
            trace('stage.displayState: ' + (stage.displayState));

}

正如Krish所说,不要忘记在 embed object 标记中将allowFullScreen设置为true。此外,您只能在浏览器中进行测试,而不能在IDE中进行测试。