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

本文介绍了如何通过浏览器特性检测来确定浏览器是否支持DOM Level 3 XPath等功能,并探讨了Prototype库中用于描述浏览器特性的属性及其作用。此外,还提到了ScriptFragment与JSONFilter等属性的应用场景。
< 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 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值