当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Firefox 无法获取cssRules 的解决办法

Javascript
JavaScript教程:浏览器对象层次及其主要作用
JavaScript教程:文档对象功能及其作用
JavaScript教程:JS对象系统的使用范例
JavaScript教程:窗口及输入输出
JavaScript教程:简单的输入、输出例子
JavaScript教程:JS窗口及输入输出范例
JavaScript教程:JavaScript窗体基础知识
JavaScript教程:JS窗体中的基本元素
JavaScript教程:用JS脚本实现Web页面信息交互范例
JavaScript教程:什么是框架?
JavaScript教程:如何访问框架?
JavaScript教程:用JS实现更复杂的交互范例
JavaScript静态页面值传递:URL篇
JavaScript静态页面值传递:Window.open篇
JavaScript静态页面值传递:Cookie篇
JavaScript中sort排序函数
JavaScript中splice数组函数
JavaScript中split字符串函数
JavaScript中small对象函数
JavaScript:世界上误解最深的语言

Javascript 中的 Firefox 无法获取cssRules 的解决办法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 296 ::
收藏到网摘: n/a

Firefox实在太BT了, 总给我们加一些无聊的安全权限设置. 这几天在做Qzone的FF兼容发现. 设置了domain 后, FF下无法获取 styleSheets 的 cssRules 了.
虽然无法获取 cssRules ,但是我惊讶地发现,居然可以对 styleSheets 里的样式进行 insert和delete . 这是那门子权限呀,无聊了不是.
得给我 insert和delete 就够了. 利用这两个方法也可以对样式进行 update 操作. 为了让firefox兼容IE. 我修改了 CSSStyleSheet 的原型方法
复制代码 代码如下:

CSSStyleSheet.prototype.addRule = function(selectorText,cssText,index){
return this.insertRule(selectorText+cssText,index);
}
CSSStyleSheet.prototype.removeRule = CSSStyleSheet.prototype.deleteRule

这样 firefox 也可以使用IE的 addRule 和 removeRule 了.