Prototype1.5.1源代码解读分析-3

本文解析了Prototype框架中的关键特性,包括浏览器特征检测、脚本片段识别等,旨在帮助开发者更好地理解该框架的工作原理。
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
BrowserFeatures

BrowserFeatures(浏览器特征)的值也是一个对象。内容如下:

{

    XPath: !!document.evaluate,

    ElementExtensions: !!window.HTMLElement,

    SpecificElementExtensions:

      (document.createElement('div').__proto__ !==

       document.createElement('form').__proto__)

  }

Prototype也规定了一个(初始化的)属性来描述浏览器的特征信息,然后它在源代码中被到处使用。这个思想是,第一,让Prototype的源代码更易读;第二,让无论怎样的脚本欺骗必然被浏览器特征所探测出来,目的是减轻维护。(译者注:第二点好像翻译得不太对哦!水平有限!)

唯一当前可用的特征探测是浏览器支持DOM LEVEL 3 XPath,在Prototype.BrowserFeatures.XPath.中返回一个布尔值

ScriptFragment

ScriptFragment属性的作用是识别脚本的正则表达式,返回一个字符串。在文档中没有找到关于他的描述。内容如下:

ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>'

JSONFilter

JSONFilter(JSON过滤器)属性的作用不详,在文档中没有找到关于他的描述。内容如下:

JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/

emptyFunction

emptyFunction(空函数)属性是一个空函数。他不做任何事也不返回任何值。内容如下:

emptyFunction: function() { }

K

K属性的作用是回传参数。内容如下:

K:function(x) { return x }

本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2007/08/16/2912305.html  ,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值