用户操作
[即时聊天] [发私信] [加为好友]
不会飞的鱼ID:isaaq
18214次访问,排名6599好友75人,关注者72
以前做过程序员,
也做过项目经理,
还做过技术总监,
目前在做总经理。
isaaq的文章
原创 29 篇
翻译 2 篇
转载 1 篇
评论 17 篇
不会飞的鱼的公告
本博客文章可以任意转载
转载时请标明原始出处和作者信息
谢谢合作
最近评论
isaaq:如果想弄明白ABC code和OP code先看看Tamarin系列的其他文章吧
jix:如果不引入就不能操作页面元素了,过于独立,我很想用类似javascript的eval功能,另外如你所说"
也就是说脚本引擎引入的ABC文件里需要有这个this对应的类的ABC code"我不太明白,如何将this编译为abc code,并引用呢?我看官方也没有这样的例子

还有一个问题关于import的
import mx.controls.Aler……
isaaq:最好不要把大对象传入脚本引擎,脚本引擎主要是灵活方便和动态地执行某些简易方法,其本身功能目前还是十分弱。如果你想把this传入,那么this属于的类必须得是脚本引擎的支持范围之内。也就是说脚本引擎引入的ABC文件里需要有这个this对应的类的ABC code。
如果这样的话,就是把这个类编译为ABC code再加入到引擎中,这样反而不是很灵活了
jix:可以看出Util.print来自eval外部,但是测试通过,说明eval脚本引擎可以与外部类和方法进行沟通。

请问如何将this传给eval
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"……
nhconch:有意思!
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 [tamarin系列之7]客户端脚本引擎axscript收藏

    新一篇: [资料总结]Safari将开发新的解释器SquirrelFish | 旧一篇: [tamarin系列之6] tamarin外篇---As3Eval

    让我们再回顾一下tamarin

    |-- tamarin-tracing    // tamarin源码工程     |-- axscript // 客户端脚本引擎     |-- build     |-- configure     |-- configure.py        |-- core                 |-- esc                 |-- extensions     |-- localization     |-- manifest.mk     |-- nanojit     |-- pcre     |-- platform             |-- shell                 |-- space             |-- test     |-- utils                 `-- zlib

    我们看到axscript是tamarin的一部分,它主要用于在浏览器中能够解释ES4脚本以代替Javascript。

    项目最好是tamarin-central  (下载地址在 http://hg.mozilla.org/tamarin-central/

    如果是tamarin-tracing可能会缺少很多包而不能编译通过

    然后我们先编译整个tamarin项目,项目文件在platform里,我们选择用win32去编译

    然后进入axscript ,用VC编译,成功。

    axscript是一个ATL项目,通过axtam.rgs注册到系统中,这样我们通过名称application/javascript;version=2或

    application/javascript;version=4 就拥有解释es4的能力了

    例子1:simple.html

    <html>     <head>         <title>Tamarin</title>     </head>

        <script language="application/javascript;version=2">         // alert dialog         window.alert('Hello from Tamarin')         // XXX - we don't have correct global semantics yet         // so the 'window.' prefix must always be used.         var document = window.document         // add content to the document         document.write("Hello from tamarin<br>")         document.write("This document is at <code>" + document.location + "<code>")     </script>

    </html>

    使用IE即可执行这段代码

    例子2:wsh_simple.es4

    WScript.Echo("Hello from es4/wsh") WScript.Echo("WSH version is " + WScript.Version)

    我们使用cscript wsh_simple.es4 即可运行这个es4脚本代码

    =========================================================

    这个axscript是要单独拉出个项目的,它并不能屈就于只是tamarin的一个子项目。后期可能整合到ScreamingMonkey之内。

    因为mozilla的“猴子计划”中对ScreamingMonkey的介绍为: 

    ScreamingMonkey is the project to add script-engine integration glue to Tamarin, so that it can handle

     <script type="application/ecmascript;version=4">
    

    and

     <script type="application/javascript;version=2">
    

    tags in other browsers, starting with IE (using ActiveScript interfaces).

    跟这个是同一个口径,所以日后肯定会移植出去到ScreamingMonkey等“猴子”项目中。

    具体的内部结构本节不再赘述,毕竟只是tamarin的另类shell,关于用作脚本解释的ATL,请自行研究;如日后有时间,可能会深入。

    发表于 @ 2008年05月30日 14:59:00|评论(loading...)|收藏

    新一篇: [资料总结]Safari将开发新的解释器SquirrelFish | 旧一篇: [tamarin系列之6] tamarin外篇---As3Eval

    评论

    #lethean 发表于2008-05-30 20:47:30  IP: 61.174.144.*
    问个不太相关的问题,有ironmonkey相关的消息么,项目主页好像没有更新过
    #isaaq 发表于2008-05-31 12:18:39  IP: 122.67.144.*
    目前为止,monkey系列项目只有actionmonkey、actionmonkey-tamarin和tracemonkey立了项,其他的可能都在畅想中
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 不会飞的鱼