加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

2010(Flex 初次使用 小节:No.2)

发布时间:2020-12-15 05:14:46 所属栏目:百科 来源:网络整理
导读:接这上一篇继续... 2 借助第三方的对象文件 swfobject.js 来向 swf 传参 超链接的方式传参 a href="VideoPlay.html?address=http://www.lxzq.com.cn/video/ty20100915_1.flv"Test/a ? 接收参数的页面 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//E

接这上一篇继续...

2 借助第三方的对象文件

swfobject.js 来向swf 传参

超链接的方式传参

<a href="VideoPlay.html?address=http://www.lxzq.com.cn/video/ty20100915_1.flv">Test</a>

?接收参数的页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>

? ? ? ??<title></title>

?????? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

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

????????????? <script type="text/javascript">

???????????????????? var flashvars = {};

???????????????????? //获取URL参数对值,并赋给flashvars变量

if (swfobject.getQueryParamValue("address"))??? //获取超链接的url?后面的参数

?{

?????? ? flashvars.address= swfobject.getQueryParamValue("address");????? //swf文件传入参数?????

}???????????

??????????????????????? var params = {};? //一定是要这个params

????????????????? ??????params.allowFullScreen ="true";? //允许全屏否 根据自己的需要来设置参数

???????????????????? var attributes = {};

???????????????????? attributes.id = "swf";????? //将嵌入的SWF文件写入对应iddiv中去,并向SWF文件传入相应的参数????????

? ? ??swfobject.embedSWF("VideoPlay.swf","swf","1000","500","10.0.0","expressInstall.swf",flashvars,params,attributes);

????????????? </script>

</head>

// ?swfobject.embedSWF里面的swf对应的是<div>id 是将swf文件放在哪里

?????? <body>

?????? <div id="swf">????????????

????? </div>

?????? </body></html>

3 flex端与就javascript的通信

需要使用到ExternalInterface 这个对象

?Flex端的代码

?? private function callJavaScript():void {

???????????? show.text =? ExternalInterface.call("sayHelloWorld");

??????????? }

// sayHelloWorld 这个就是javascript的里面的方法名

当然ExternalInterface.call这个方法还可以传参

ExternalInterface.call("js的函数名",”参数)

那么在html页面这一块的代码

很简单

Function sayHelloWorld()

{

做自己需要的处理

如果flex端要接受返回值的话

那么js里面就一定要

return “xxxxx”;

}

貌似这个有个弊端

那就是 这种flexjavascript的互调只能在拥有flex框架载体的情况下才能用

也就是flex工程里面才可以用

为什么这么说 那是因为 我之前就是通过这种方式 swf文件去调用js的函数

脱离了flex的工程 行不通

网上 基本上都是说的在flex工程的bin-degug文件下系统自动生成的html里面写js

我试过 只要是flex项目里面? flex javascript的相互调用是没问题的

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读