chrome 和 safari 对 document.styleSheets 理解的差异

chrome和safari同样的使用web kit。于是他们同时支持 document.styleSheets 。

当页面上有一个<style id="dynamicStyle"> 我们可以利用 document.styleSheets["dynamicStyle"] 来获取到style对象。

这时需要注意了 chrome 和 safari 的返回是不一样的


200809251703.jpg

从chrome的调试来看 document.styleSheets["dynamicStyle"] 返回的是一个HTMLStyleElement对象而不是真正的CSSSTyleSheet 对象。于是我们不能直接获取到cssRules.

但是safari 通过document.styleSheets["dynamicStyle"] 获取到的真正的CSSStyleSheet 对象


200809251703.jpg

于是在写兼容的时候不能写成

return document.styleSheets[id] || document.getElementById(id).sheet;

需要调整一下顺序就可以兼容了

return document.getElementById(id).sheet || document.styleSheets[id];




[本日志由 puterjam 于 2008-09-25 05:03 PM 编辑]
上一篇: 次世代最流行的主机
下一篇: safari 通过Acid3测试了
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 浏览器兼容 chrome safari css
相关日志:
评论: 8 | 引用: 0 | 查看次数: -
Reset[2011-07-19 01:33 PM | | | 123.233.112.21 | del | 回复回复]
chrome 最新版的也不行 不是很通用
lizn[2011-01-27 11:27 AM | | | 183.62.136.130 | del | 回复回复]
我在chrome中无法获取link中的sheet.cssRules style标签中的cssRules是可以获取的 不知道是什么原因
回复来自 puterjam 的评论 puterjam 于 2011-01-27 12:53 AM 回复
chrome某个版本的bug
blog.csdn.net/ups312[2008-09-30 05:54 PM | | | 218.77.86.155 | del | 回复回复]
引蜘蛛
blog.csdn.net/ups312
uoyyou[2008-09-27 08:49 AM | | | 58.248.88.164 | del | 回复回复]
沧海's blog  欢迎大家做连接  办站1年  pr2  日ip200左右 非常稳定  日志量 500篇
我爱潍坊[2008-09-26 09:48 AM | | | 221.1.73.82 | del | 回复回复]
偶的博客升级到最新了,呵呵!
我爱潍坊 Http://5iweifang.cn

支持PJblog!!!!
unpik[2008-09-26 01:03 AM | | | 219.130.71.60 | del | 回复回复]
没得事做把网站玩崩了  郁闷死
博客恢复不了
还好数据库还在等有时间再弄

个人博客 www.unpik.cn
         逛下我的博客
4ghost.cn[2008-09-25 07:50 PM | | | 211.138.184.201 | del | 回复回复]
Www.4ghost.cn
fireyy[2008-09-25 05:47 PM | | | 124.243.202.189 | del | 回复回复]
chrome和safari用的webkit版本不一样
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱:
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 500 字 | UBB代码 开启 | [img]标签 关闭