IE浏览器加载style标签不能超过31的解决方案
来源:互联网 发布:苹果手机闹钟软件 编辑:程序博客网 时间:2024/05/04 23:15
var fnMergeStyleSheet = function(){if(!document.styleSheets){return;}var aSheet = document.styleSheets, aStyle = document.getElementsByTagName('style'), aLink = document.getElementsByTagName('link'); if(aStyle.length + aLink.length < 32 || !aSheet[0].cssText){ //document.styleSheets.cssText 只有IE支持 return; } var aCssText = [],aCloneLink = []; //把style标签中的样式存入,然后删掉该标签,但保留第一个 //因为由getElementsByTagName方法返回值是nodeList,所以删除时循环用倒序 for(var i=aStyle.length-1;i>-1;--i){ var o = aStyle[i];//document.getElementById("a").innerHTML +=i+":"+o.innerHTML+"<br>"; aCssText.push(o.innerHTML); if(i>0){ o.parentNode.removeChild(o); } } //在IE中只有在31之内的link标签才能通过其styleSheet.cssText获取样式 //无法的获取复制到一个数组aCloneLink中 for(var i=aLink.length-1;i>-1;--i){ var o = aLink[i]; if(o.getAttribute && o.getAttribute('rel')==='stylesheet'){ if(o.styleSheet){ aCssText.push(o.styleSheet.cssText); }else{ aCloneLink.push(o.cloneNode(true)); } if(i>0){ o.parentNode.removeChild(o); } } } var oHead = document.getElementsByTagName('head')[0]; //通过前面的删除,前31个link或者style标记最多只剩下2个 //通过重新增加link节点的方法激活其styleSheet属性,从而获取样式 for(var i = aCloneLink.length-1;i>-1;--i){ var o = aCloneLink[i]; oHead.appendChild(o); aCssText.push(o.styleSheet.cssText); oHead.removeChild(o); } //把所有的样式都复制给第一个标签 aSheet[0].cssText += aCssText.reverse().join('');}fnMergeStyleSheet();把这段东西加上尾部。
0 0
- IE浏览器加载style标签不能超过31的解决方案
- 加载外部Style SWF的解决方案
- IE浏览器下上传文件的解决方案
- IE浏览器以及内置IE浏览器的程序不能使用的解决方案
- a标签IE浏览器兼容问题
- 调用ie内核标签-浏览器
- a标签IE浏览器兼容问题
- 控件的style标签
- 基于IE内核的多标签浏览器开发过程
- img标签在ie浏览器下的兼容处理
- 基于IE内核的多标签浏览器开发过程
- 基于Duilib的多标签浏览器(IE内核)
- 怎么处理HTML5的新标签对IE浏览器兼容问题?
- applet在IE浏览器中不能显示的解决方案
- applet在IE浏览器中不能显示的解决方案
- IE浏览器中 unknown runtime error 的解决方案
- LoadRunner录制脚本时,IE浏览器无法弹出的解决方案
- 关于WIN10中IE浏览器无法登录VPN的解决方案
- java事件处理机制(自定义事件)
- nginx源码初读(9)--让烦恼从数据结构开始(ngx_listening/ngx_connection)
- 【Mac上的问题】ValueError: unknown locale: UTF-8
- 配置rsync+inotify实时同步
- Ubuntu安装Maven
- IE浏览器加载style标签不能超过31的解决方案
- Python入门——1
- HTML之position:absolute relative static fixed的区别和理解
- ios 如何通过XIB 或者storyboard 创建headView 和footerView?
- 3673: 可持久化并查集 by zky 主席树 可持久化数组
- erlang 学习 一个牛人的博客
- MySql中获取所有的表名称
- 欢迎使用CSDN-markdown编辑器
- linux 学习第三天