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

Javascript
二级连动的另一个不错的实现方法
键盘元素的控制小方块的移动效果
如何丰富alt属性的显示效果
鼠标移动到某个单元格上后,整个列都变色的实现方法
用JavaScript实现字符串切分功能
通过JAVAScript实现页面自适应
短信提示使用 特效
一个多次搜索+多次传值的解决方案
javascript读取RSS数据
WEB泡泡堂2.0(图形界面+电脑对玩)(javascript)
JS+FLASH幻灯片播放图片脚本,整理了代码,使得调用更加方便!
利用javascript中的call实现继承
javascript 中对象的继承〔转贴〕
float ad浮动广告代码
showModalDialog 和 showModelessDialog
Ajax::prototype 源码解读
深入认识JavaScript中的函数
Javascript技术技巧大全(五)
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
用正则xmlHttp实现的偷(转)

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


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