zoukankan      html  css  js  c++  java
  • Microsoft Ajax Beta1 边学边用边补充 (Part 1 Debug)

    这Beta1的更新多就不再强调了,关键就是它对以客户端为中心的开发人员不太友善。客户端框架正在作大幅度修改,这个我不反对,但是将明显一个修改到一半的东西扔出来显然就不太好。Beta1里面的客户端框架是没问题的,不过Preview中的就衔接不上了,有些CTP原有的功能没有在Preview中保留,有些则看得出是修改中的,例如debug版的代码不太工整,enclosure和prototype书写方式混合。

    将老项目由July CTP迁移到Beta1 + Preview,第一件事当然是测试更新后原有功能是否正常,不正常的地方是由什么引起的,但我马上就发现可爱的debug.dump和debug.trace都不见了,这样我可没办法做项目迁移啊,因为连基本的debug功能都没有。搜索了一下Beta1的代码,发现只有debug.assert和debug.fail;而在Preview中则有如下一段代码:
    if(!debug.trace) {
      debug.trace = function debug$trace(message) {}
    }
    这段代码的用意很显然,debug.trace已经被去掉了,然而CTP迁移而来的代码中可能有用到debug.trace的,这样做能避免对debug.trace的调用引发脚本错误。

    为了完成迁移,首先要把debug.dump和debug.trace补上,尝试的就是把July CTP的代码借过来用。代码借过来后,debug.trace基本没问题,就是第一行那个Debug.writeln不知道用来干什么的;debug.dump的问题就一大堆,这是由于一些CTP中存在的类改名了或消失了,例如Sys.IArray、Sys.ITypeDescriptorProvider、Type.Event。我开头的做法是把debug.dump中不能用的代码段注释掉,后来Jeffrey Zhao为ASP.NET AJAX 1.0 Beta补充trace和dump功能一文中提供了一个更好的版本,我也就参考着那个作了修改,制作出我自己的版本:用于MS AJAX Beta1 + Preview的debug补充包

    由于我还没有仔细看过Beta1的原代码,所以采用了保守修改的原则,也就是尽可能少的改动。因此,我仅仅作了如下替换:

    • Sys.IArray.isImplementedBy -> Array.isInstanceOfType
    • Sys.ITypeDescriptorProvider -> Sys.Preview.ITypeDescriptorProvider
    • Type.Event-> Sys.UI.DomElement

    需要说明的是,Jeffrey Zhao那个适用于不加载PreviewScript.js的场合,而我的这个必须和PreviewScript.js一起使用并且在其之后加载。另外为了方便我直接在浏览器地址栏调用debug.dump和debug.trace,我为它们提供了更简短的别名:$dump和$trace。

  • 相关阅读:
    File Size(4.12)
    Ownership of New Files and Directories(4.6)
    Changing User IDs and Group IDs & How saved setuserid works (8.11)
    Windows 下硬盘安装linux 系统
    access Function(4.7)
    File Access Permissions(4.5)
    link, unlink, remove, and rename Functions(4.15)
    文件特殊权限: SUID, SGID, SBIT
    ASP.NET与DreamweaverMx结合
    sqlserver的几个函数要记录
  • 原文地址:https://www.cnblogs.com/cathsfz/p/541380.html
Copyright © 2011-2022 走看看