`
lorry1113
  • 浏览: 264558 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SwfObject解决Html与Flash之间传递参数问题

    博客分类:
  • flex
阅读更多

  在彻底摒弃Adobe的激活ActiveX控件的方法一文中已经详细分析了使用Adobe提供的AC_RunActiveContent.js导致HTML与Flash之间不能传递参数的问题。经过Adobe论坛里GWD的提示,我转而寻求SwfObject的帮助。发现SwfObject是一个很好的解决方案。

  SwfObject英文介绍:http://blog.deconcept.com/swfobject/

  SwfObject中文翻译:http://www.awflasher.com/flash/articles/swfobj.htm

  源文件:SWFObject 1.5

  关于SwfObject的介绍上面两篇文章已经讲的很详细了。我这里只列一段标准的应用和一些上面两篇文章没有提到的问题.

  Html中的JS代码

  <script type="text/javascript" src="swfobject.js"></script>

  <script type="text/javascript">

  // <![CDATA[

  var so = new SWFObject("asCallJs.swf", "MyDemo", "500", "400", "9", "#FF6600");

  so.addVariable("param1", "Parameter1"); // this line is optional, but this example uses the variable and displays this text inside the flash movie

  so.addVariable("param2", "Parameter2");

  so.useExpressInstall('expressinstall.swf');

  so.write("flashcontent");

  // ]]>

  </script><!--被AS调用的JS函数-->

  <script language="Javascript">

  // <![CDATA[

  // adds two numbers, and sends the result back to ActionScript

  function addNumbers(num1, num2)

  {

  result=num1 + num2;

  alert("3+7=" + result);

  return (result);

  }

  // ]]>

  </script>

  Flash中的AS代码

  //****************调用JS函数,得到返回值*****************

  var n1:uint = 3;

  var n2:uint = 7;

  if (ExternalInterface.available) {

  var res:uint = ExternalInterface.call(”addNumbers”, n1, n2);

  function_txt.text=”3+7=”+res.toString();

  }

  //****************直接得到JS中参数****************

  //AS2中做法

  //param1_txt.text=param1;

  //AS3中做法

  param1_txt.text=this.loaderInfo.parameters.param1;

  param2_txt.text=this.loaderInfo.parameters.param2;

  注:如果要在AS3中用OOP来操作的话,需要专门构建一个类,用它其中的静态变量来存储全局变量,要使用这些变量的类先继承它(Storing SWFObject.addVariable() vars globally in AS3)。
分享到:
评论

相关推荐

    swfobject

    这个小巧的库解决了早期网页中嵌入Flash时出现的一些问题,如浏览器兼容性、自适应性以及提供HTML备用内容等。SWFObject 的出现使得Web开发者能够更加灵活和方便地控制Flash对象,同时确保非Flash支持的设备或浏览器...

    SWFObject.js Flash性能增强插件

    3. **参数设置**:SWFObject.js允许开发者设置各种Flash对象的属性,如宽度、高度、版本等,还可以传递变量到Flash应用程序,实现动态交互。 4. **SEO友好**:通过使用SWFObject.js,搜索引擎爬虫可以读取到替代的...

    flash嵌入web页面(swfobject)

    1. Flash参数与变量:通过`flashvars`、`params`和`attributes`对象,你可以传递Flash所需的各种参数,如`quality`、`wmode`、`allowScriptAccess`等,以及自定义变量。 2. 动态插入:SWFObject可以动态地在页面加载...

    javascript向flash swf文件传递参数值注意细节

    要使用JavaScript向SWF文件传递参数,我们首先需要理解SWF文件是什么,以及如何通过JavaScript与之交互。SWF是Flash动画文件的标准格式,虽然Adobe Flash已经被逐渐淘汰,但是仍有一些遗留系统或项目会使用到它。...

    SWFObject 图形报表

    SWFObject不仅支持简单的Flash对象嵌入,还允许在SWF文件与JavaScript之间进行数据交互。这通常通过向`embedSWF()`方法传递额外的参数实现: - `flashvars`参数:用于传递Flash变量,这些变量可以在Flash电影内部...

    swfobject.js代替JavaScript实现点击按钮显示Flash动画

    `swfobject`是一个开源的JavaScript库,由格雷格·劳(Greg Lafrance)创建,主要用于解决浏览器兼容性问题,使得在网页上无缝嵌入Flash内容成为可能。它通过动态替换HTML元素的方式来加载SWF(Flash文件),并且支持...

    swfobject_2_2.zip

    - **传递参数**:通过WebBrowser控件的Document属性,你可以访问到HTML文档的对象模型,进而使用JavaScript调用SwfObject的方法,传递Delphi程序中的数据到Flash。 4. **示例应用** 一个常见的应用场景是创建一个...

    swfobject 2.1

    - SWFObject 2.1 支持参数传递,允许开发者定制Flash对象的属性,如宽度、高度、颜色、背景等,增强了对Flash内容的控制。 - 库的大小较小,易于整合到项目中,同时其API设计简洁,使得开发者可以轻松理解和使用。...

    swfobject.js

    在HTML4和HTML5文档中,直接内联插入Flash内容会破坏文档结构,不符合语义化原则,而SWFObject通过动态插入技术解决了这个问题。 使用SWFObject.js的步骤大致如下: 1. **引入SWFObject.js**:在HTML文件中,通过`...

    rtmp-swfobject-master.zip

    在SWFObject中,RTMP服务器的URL通常作为参数传递给Flash播放器,以便播放器知道从哪里获取直播流。修改这个地址,就可以适应不同的直播源,例如从本地服务器切换到远程服务器。 其次,理解SWFObject的工作流程。当...

    js > swfobject.js 使用

    SWFObject.js解决了早期Flash插件检测和内容呈现的问题,提供了跨浏览器的兼容性。 ### SWFObject.js的起源 SWFObject.js最初由Gregory Lindhorst开发,并由Joel Spolsky进一步完善。它的核心功能是动态检测用户的...

    SWFObject Flash js调用类

    开发者可以通过JS代码给FLASH传递参数,如so.addVariable("arg1", "test1"),并且需要注意的是,由于JS与FLASH之间的通信是通过字符串进行的,所以在FLASH端需要进行适当的类型转换,以便正确处理Number型变量。...

    Flash 与 html及C#程序通讯

    本主题主要关注Flash与HTML以及C#程序之间的交互,这种交互通常涉及到浏览器中的富媒体内容(如Flash)与服务器端或客户端应用程序(如C#)的数据交换。下面将详细讨论相关知识点。 首先,Flash作为一种强大的...

    网页嵌入flash示例

    其他参数如`{}`和`""`分别用于传递额外的Flash参数和FlashVars,而`"flashDemo.html"`则作为替代内容。 最后,`mycar1.swf`是实际的Flash文件,可能是包含动画、游戏或互动元素的二进制文件。这个文件会被HTML页面...

    用js生成flash插件

    例如,你可以在Flash中定义一个函数,然后在JavaScript中调用它,或者从JavaScript向Flash传递数据。 **安全和兼容性问题**: 虽然SWFObject提供了很好的跨浏览器兼容性,但随着Flash的退役,越来越多的安全问题浮...

    javascript与flash相互调用

    一旦Flash加载完成,JavaScript可以使用`swfObject.getFlashById`获取Flash对象引用,然后调用`call`方法,传递要执行的ActionScript函数名和参数。 4. **Flash 调用 JavaScript**:在Flash ActionScript中,首先...

    asp flash的教程3

    3. **External Interface**:在Flash中,可以启用External Interface,使得Flash与JavaScript之间可以进行双向通信。ASP可以通过JavaScript调用Flash公开的AS3方法,从而影响Flash的运行。 【ActionScript与ASP交互...

    [转]FLASH与JS序列简单应用

    基于这些信息,这篇博客文章可能会讲解如何设置`ExternalInterface`以实现在Flash和JavaScript之间的数据传递,例如从JavaScript向Flash传递参数启动动画,或者从Flash中调用JavaScript函数更新页面内容。...

    js flash播放器

    2. **Flash参数传递**: JavaScript可以通过`&lt;object&gt;`或`&lt;embed&gt;`标签的参数来传递数据给Flash播放器,例如设置播放源、控制播放状态等。 3. **ActionScript接口**: Flash播放器内部通常用ActionScript编写,这是一...

Global site tag (gtag.js) - Google Analytics