我对Flash知之甚少,因此不会编程。我有一个PHP网站,显然是HTML,CSS,JS等。
我想要做的是允许用户全屏显示DOM的某些部分。所以我的问题是,有没有办法动态地围绕DOM的某些部分包装flash,以便允许对该部分进行全面筛选。
编辑:
目前的回复非常有趣,可能是唯一的选择。
但在我理想的世界里会有一个嵌入式flash对象,里面会有某种iframe或flash等效,所以渲染仍然由浏览器处理而不是flash本身。
答案 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中进行测试。