Air程序中的HTML组件内外交互

继之前说的Air程序中使用Loader存在内存泄漏的问题,我们通过使用HTML组件来替换掉Loader,HTML组件模仿的是一个浏览器,通过加载渲染出所指向的页面,当HTML销毁(浏览器关闭)时,内存会自动回收。

但是使用了这个后,还有问题就是:

1、AIR怎么调用HTML里面的SWF里的public function?

2、同样,HTML里面的SWF怎么访问外面的AIR?

 

下面看一下这段代码,你就发现原来可以这么简单的:

 

 

 

看了这段代码,相信问题1,2就不难解决了,只要加上一部分JS和SWF交互的知识(博客有相关文章),就可以实现了。

 

你也可以再Air中直接返回JS中的document,使用方式var doc = xxx.domWindow.document;就可以直接调用里面的getElementById()等等方法,具体可以通过Debug查看具体结构。

 

还有,项目中我们有这样的需求,就是AIR端会请求服务器,HTML里面的SWF也会请求服务器,但是他们同样使用HTTPService,服务器给它们分配的Cookies是不是一样的,就像我在浏览器中登陆时,服务器会返回一个:

Cookie: BAIDUID=546DF84FD16A61645303D10F3C822C2B:FG=1
标示我的身份的。

 

同样的请求,我们发现两次请求的Cookies一样。Done!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值