Flex与JavaScript交互:接收网页参数详解
本文主要探讨了如何在Flex应用中接收来自网页的参数,以及Flex与JavaScript之间的交互。通过示例代码展示了如何利用JavaScript库swfObject来嵌入Flex SWF文件,并传递参数到Flex应用程序。 在Web开发中,Flex作为Adobe开发的富互联网应用程序(RIA)框架,常常需要与网页的其他元素,特别是JavaScript进行交互,以便实现更丰富的用户体验。在Flex中接收网页参数是实现这种交互的一个关键环节。通常,当用户在网页上触发某些事件时,JavaScript可以捕获这些事件并传递参数给Flex应用程序,使得Flex能够根据这些参数执行相应的操作。 在给出的代码段中,可以看到如何使用JavaScript库swfObject来嵌入一个Flex SWF文件。swfVersionStr定义了所需的Flash播放器版本,xiSwfUrlStr是用于Flash播放器更新的Express Install文件路径。而`flashvars`对象则用于存储将要传递给Flex的参数,例如这里的`var1`和`var2`,它们的值分别为"abc"和"def"。 以下是一些关键步骤和知识点: 1. 创建Flash变量:在JavaScript中,`flashvars`对象包含了要传递给Flex的参数。每个键值对代表一个参数,如`var1:"abc"`和`var2:"def"`。 2. 设置Flash参数:`params`对象包含了关于Flash播放器的配置参数,如质量、背景颜色、脚本访问权限和全屏支持等。 3. 定义Flash对象属性:`attributes`对象定义了Flash对象的ID、名称和对齐方式,这些在HTML中是必要的。 4. 嵌入SWF:`swfobject.embedSWF`函数用于在指定的HTML元素(此处为`flashContent`)中插入SWF文件。它接受SWF文件的URL、替换的HTML元素ID、宽度、高度、所需Flash版本、Express Install URL以及之前定义的`flashvars`、`params`和`attributes`对象作为参数。 5. 备用内容显示:`swfobject.createCSS`确保在无法加载SWF的情况下,HTML元素`flashContent`仍然有合适的样式显示。 在Flex端,这些传递的参数可以通过`ExternalInterface`类来访问。在Flex应用中,可以使用`ExternalInterface.call`方法调用JavaScript函数,同时,JavaScript也可以通过`ExternalInterface.addCallback`注册的方法来调用Flex中的函数,实现双向通信。 Flex与JavaScript的交互是通过`flashvars`传递参数和`ExternalInterface`进行通信的。理解这一机制对于开发混合型Web应用程序至关重要,它允许Flex充分利用JavaScript的能力,同时保持其强大的图形和交互功能。
<!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. -->
var swfVersionStr = "10.0.0";
<!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. -->
var xiSwfUrlStr = "playerProductInstall.swf";
<span style="color: #000000;">var flashvars = {var1:"abc",var2:"def"};
</span> var params = {};
params.quality = "high";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
var attributes = {};
attributes.id = "test39";
attributes.name = "test39";
attributes.align = "middle";
swfobject.embedSWF(
"test39.swf", "flashContent",
"100%", "100%",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
<!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. -->
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
</script>
方式二(html):
1
2
3
4
5
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展