06-讨论
4.1.3 讨论
jQuery.support
对象在版本1.3中加入,包含一些布尔标志,帮助开发人员编写使用浏览器功能检测的代码。在例子中,Internet Explorer(IE)处理 href
属性时和其他浏览器的表现不同。IE将返回完整的URL,而不是 href
属性的内容。使用 hrefNormalized
属性,就拥有了应对IE更高版本改变这一表现的预防措施。否则,就需要包含具体浏览器版本的条件语句。尽管这种功能很有诱惑力,但是最好避免采用这种方法,因为它需要在浏览器发行新版本时进行维护工作。避免针对特定浏览器的另一个原因是,客户端可能有意无意地报告不正确的用户代理串。除了 hrefNormalized
属性,还存在另外一些属性:
boxModel
如果浏览器呈现器按照W3C CSS“盒子模型”规范显示,返回真值。
cssFloat
如果使用 style.cssFloat
获得当前CSS浮动值,返回真值。
hrefNormalized
如果浏览器不改变 getAttribute('href')
的结果,返回真值。
htmlSerialize
如果浏览器正常序列化带有 innerHTML
属性的链接元素,返回真值。
leadingWhitespace
如果浏览器使用 innerHTML
时保留前导空格,返回真值。
noCloneEvent
如果浏览器克隆元素时不克隆事件处理程序,返回真值。
objectAll
如果元素上的 getElementsByTagName('*')
返回所有后代元素,返回真值。
opacity
如果浏览器能够解释CSS透明度样式,返回真值。
scriptEval
如果对 <script>
使用 appendChild
将执行脚本,返回真值。
style
如果 getAttribute('style')
能返回元素指定的嵌入样式,返回真值。
tbody
如果浏览器允许没有 <tbody>
元素的 <table>
元素,返回真值。