### 四种方法教你实现SWF视觉全屏 在探讨如何实现SWF文件全屏显示之前,我们需要了解SWF(Small Web Format 或 Shockwave Flash)是一种由Adobe Systems开发的用于存储向量图形、位图图像、音频和视频的多媒体文件格式。在网页中嵌入SWF文件可以提供丰富的媒体体验,而实现SWF文件的全屏显示则是提升用户体验的重要手段之一。 本文将详细介绍四种实现SWF文件全屏显示的方法,并对每种方法的原理、适用场景及优缺点进行深入分析。 #### 方法一:通过ActionScript和JavaScript实现 此方法通过结合ActionScript和JavaScript来实现SWF文件的全屏功能。具体步骤如下: 1. **初始化上下文菜单**: - 创建一个`ContextMenu`对象,并禁用其中的所有内置项。 - 添加一个自定义的上下文菜单项,该菜单项关联到`toggleFullScreen`函数,以实现全屏切换的功能。 2. **实现全屏切换逻辑**: - 定义`toggleFullScreen`函数,检查当前的显示状态。 - 如果当前不是全屏状态,则设置`displayState`为`fullScreen`;如果是全屏状态,则将其设置为`normal`。 这种方法的优点在于可以完全控制SWF文件的行为,且兼容性较好。但需要确保浏览器支持JavaScript和Flash Player插件。 #### 方法二:利用GETURL动作 此方法通过在SWF文件中调用`GETURL`动作,打开一个新的窗口并设置其属性为全屏模式。 1. **编写GETURL动作**: - 使用如下代码创建一个新窗口,并设置其属性以实现全屏效果。 ```as javascript:window.open(".swf","","menubar=no,toolbar=no,location=no,status=no,fullscreen=yes") ``` 2. **处理非全屏情况**: - 如果需要恢复到非全屏模式,可以通过修改`fullscreen`属性为`no`来实现。 这种方式的优点是简单易行,适用于快速实现全屏功能的需求。然而,这种方法可能会受到浏览器安全策略的限制,导致某些情况下无法正常工作。 #### 方法三:通过HTML页面配置实现 此方法通过对HTML页面的配置来实现SWF文件的全屏显示。 1. **配置Flash发布设置**: - 在Flash发布设置中,选择将SWF文件的尺寸单位设置为百分比,并确保尺寸为100%。 - 这样可以确保SWF文件能够适应不同屏幕尺寸。 2. **创建空白HTML页面**: - 创建一个空白HTML页面(如`blank.htm`),仅包含基本的HTML结构。 3. **嵌入SWF文件的HTML页面**: - 在另一个HTML页面中(如`show.html`),使用`<embed>`或`<object>`标签嵌入SWF文件,并设置相应的属性以确保全屏显示。 ```html <embed src=".swf" width="100%" height="100%" type="application/x-shockwave-flash" /> ``` 4. **使用JavaScript控制全屏状态**: - 可以在HTML页面中添加JavaScript代码,用于检测和控制全屏状态的变化。 这种方法的优点是不需要复杂的编程技巧,适合那些希望以更简单的方式实现全屏显示的开发者。但可能需要更多的手动调整以适应不同的屏幕尺寸。 #### 方法四:利用Flash中的ActionScript指令 此方法直接在Flash文件内部使用ActionScript指令来实现全屏显示。 1. **使用`getURL`指令**: - 在Flash中使用`getURL`指令来触发JavaScript代码,从而实现全屏显示。 - 示例代码如下: ```as on(release){getURL("javascript:void(window.showModalDialog('.swf','','dialogWidth:100%;dialogHeight:100%;'));","_self","POST");} ``` 2. **使用`fscommand`指令**: - `fscommand`指令允许Flash与浏览器之间进行通信。 - 例如,使用`fscommand("fullscreen", true)`来开启全屏模式。 这种方法的优点在于完全基于Flash自身的能力,不需要额外的JavaScript代码。但是,它依赖于浏览器支持`fscommand`指令,并且某些现代浏览器可能不再支持这一功能。 ### 总结 以上四种方法各有特点,开发者可以根据自己的需求和环境条件选择最合适的一种。需要注意的是,随着技术的发展,Flash的使用率正在逐渐下降,很多浏览器已经默认禁用了Flash插件,因此在实际应用中还需考虑兼容性和未来趋势的问题。
----------------------------
教你装扮牛B空间所有技术
---------------------------------------------------
如何让SWF文件全屏的效果?
http://www.klstudio.com/demo/as/fullscreen/fullscreen.html
第一种方法:
不显示浏览器菜单栏、工具栏的全屏。这种全屏稍稍复杂,也与 FLASH 的设置无关,但要借助JavaScript来完成。简单方法可用右建来实现:在HTML文件中间加入以下代码:
//right menu start
var my_cm:ContextMenu = new ContextMenu();
my_cm.builtInItems.quality = false;
my_cm.builtInItems.print = false;
for (eachProp in my_cm.builtInItems) {
var propName = eachProp;
my_cm.builtInItems[propName] = false;
}
var menuItem_cm2:ContextMenuItem = new ContextMenuItem("全屏/退出全屏", toggleFullScreen);
my_cm.customItems.push(menuItem_cm1);
trace("Welcome ");
}
this.menu = my_cm;
//right menu end
function toggleFullScreen() {
/* if (arguments[0] == 2) {//用于初始化
Stage["displayState"] = "fullScreen";
return false;
}*/
if (Stage["displayState"] == "normal") {
Stage["displayState"] = "fullScreen";
} else {
Stage["displayState"] = "normal";
}
trace(Stage["displayState"]);
}
第二种方法:
也可以在SWF文件的第一帧Actions上的GETURL 命令上加上:
剩余6页未读,继续阅读
- 粉丝: 6
- 资源: 15
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C语言的系统服务框架.zip
- (源码)基于Spring MVC和MyBatis的选课管理系统.zip
- (源码)基于ArcEngine的GIS数据处理系统.zip
- (源码)基于JavaFX和MySQL的医院挂号管理系统.zip
- (源码)基于IdentityServer4和Finbuckle.MultiTenant的多租户身份认证系统.zip
- (源码)基于Spring Boot和Vue3+ElementPlus的后台管理系统.zip
- (源码)基于C++和Qt框架的dearoot配置管理系统.zip
- (源码)基于 .NET 和 EasyHook 的虚拟文件系统.zip
- (源码)基于Python的金融文档智能分析系统.zip
- (源码)基于Java的医药管理系统.zip