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 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 浏览器兼容 chrome safari css
评论: 6 | 引用: 0 | 查看次数: -
回复回复blog.csdn.net/ups312[2008-09-30 05:54 PM | del]
引蜘蛛
blog.csdn.net/ups312
回复回复uoyyou[2008-09-27 08:49 AM | del]
沧海's blog  欢迎大家做连接  办站1年  pr2  日ip200左右 非常稳定  日志量 500篇
回复回复我爱潍坊[2008-09-26 09:48 AM | del]
偶的博客升级到最新了,呵呵!
我爱潍坊 Http://5iweifang.cn

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

个人博客 www.unpik.cn
         逛下我的博客
回复回复4ghost.cn[2008-09-25 07:50 PM | del]
Www.4ghost.cn
回复回复fireyy[2008-09-25 05:47 PM | del]
chrome和safari用的webkit版本不一样
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.