注册 登录  
 加关注

网易博客网站关停、迁移的公告:

将从2018年11月30日00:00起正式停止网易博客运营
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

为着理想勇敢前进

 
 
 

日志

 
 

在AIR应用程序中动态执行代码  

2008-08-16 22:17:52|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
有人说浓眉大眼的ActionScript背叛革命了。背叛革命的证据有很多,其中之一就是去掉了eval。虽然正常情况下很少使用eval,不过有的时候,比如调试时还是想要使用eval的。
今天偶然看见AIR里面的HTML引擎,发现可以利用这个东西动态执行JavaScript代码。于是我就包装了一个evalJs函数,第一个参数是要执行的字符串,第二个参数是环境,比如EvalJsTest中就传入了this, 于是JavaScript代码就可以访问flash这边的对象了。最后两个参数是执行完以后的回调函数,分别在正常完成和出错时调用。
我还把getDefinitionByName函数放到了EvalJsTest的公有变量中,这样一来,JavaScript就能很方便地访问ActionScript中的各个类库了。


使用代码进行画图


通过getDefinitionByName取得API,然后再调用。以上代码会打开我的日志(www.ac.net.blog.163.com)


加上void就能避免显示出Result对话框。本行代码将窗口布局改为水平。


嫌字体太小了?没问题,以上代码能让窗口变大e倍。

evalJs的函数的源代码:http://svn.assembla.com/svn/Atry/EvalJs/evalJs.as
EvalJsTest工具的源代码:http://svn.assembla.com/svn/Atry/EvalJs/EvalJsTest.mxml
编译好的EvalJsTest工具:http://svn.assembla.com/svn/Atry/EvalJs/EvalJsTest.air
  评论这张
 
阅读(602)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018