JavaScript动态创建Style标签并导入CSS的兼容写法

作者:像素猫时间:2026-10-22 19:24:02浏览:641

本文介绍如何在JavaScript中通过createElement动态创建STYLE标签,并利用styleSheet或sheet属性兼容IE与标准浏览器导入CSS。代码展示了addImport与insertRule的分支处理,以及onerror和onreadystatechange事件的使用,旨在解决动态加载样式表的兼容性问题。

动态创建Style标签导入CSS的兼容实现

起初代码中遗漏了一个分号(红色标识部分),导致程序无法正常运行,排查过程较为困难。



使用JavaScript代码创建一个新的STYLE元素节点,变量名为style。


将该STYLE元素节点添加到文档的body节点中,使其生效。


为style元素绑定onerror事件处理函数,用于捕获加载错误。


在错误处理函数中弹出提示框显示“here1”。


 }

为style元素绑定onreadystatechange事件处理函数,用于监听IE浏览器的加载状态。


在状态变更处理函数中弹出提示框显示“here2”。


 }

获取样式表对象,优先使用IE特有的styleSheet属性,若不存在则回退到标准的sheet属性。



判断样式表对象是否包含addImport方法,这是IE浏览器的特征。


若支持addImport,则调用该方法导入名为“aa.css”的样式表文件。


否则,即不支持addImport的情况,执行else分支。


调用insertRule方法,将“@import url('aa.css');”规则插入到样式表末尾,利用sheet.cssRules.length确定插入位置。


作者最新文章