日期:2014-05-17  浏览次数:20669 次

js动态加载刷新多级引用的css

?

问题描述:

页面引用page.css,page下又引用(@import)a.css,a.css下引用a1.css,a2.css,a3.css....

(ie允许引用4级,4级以后无效,每个.css最多允许引用31个css文件)

如当a1.css中有变动时,页面在不刷新的情况下需要应用上a1.css变动的样式.

?

问题分析:

直接在页面通过js重新加入page.css的引用时,由于ie缓存的原因,发现page.css没有变动,不会重新加载.

?

解决办法:

改变link的type属性,修改href后重新设置type属性,浏览器重新加载所有引用级别css

?

jq实现如下:
?function refreshPageCss(pageCssName) {
??var t = $("link[href*='" + pageCssName + "']");
??t.attr("type", " ").attr("href", pageCssName).attr("type", "text/css");
?}