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

Javascript
JS 参数传递的实际应用代码分析
prototype与jquery下Ajax实现的差别
用JS写的简单的计算器实现代码
javascript 数组操作实用技巧
JavaScript 中级笔记 第二章
JavaScript 中级笔记 第三章
JavaScript 中级笔记 第四章 闭包
JavaScript 中级笔记 第五章 面向对象的基础
Mootools 1.2教程 函数
Mootools 1.2教程 事件处理
通过Mootools 1.2来操纵HTML DOM元素
Mootools 1.2教程 设置和获取样式表属性
Mootools 1.2教程 输入过滤第一部分(数字)
Mootools 1.2教程 输入过滤第二部分(字符串)
Mootools 1.2教程 Fx.Tween的使用
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
MooTools 1.2中的Drag.Move来实现拖放
Mootools 1.2教程 正则表达式
Mootools 1.2教程 定时器和哈希简介
Mootools 1.2教程 滚动条(Slider)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 257 ::
收藏到网摘: 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 了.