我可以获得链接样式表的文本源吗?

时间:2014-06-18 13:46:23

标签: javascript html css

我尝试将css作为link元素的文本。 例如,style元素最简单:

[].map.call(document.styleSheets, function(styleSheet) {
  var tag = styleSheet.ownerNode.tagName.toLowerCase();
  if (tag == 'style') {
    return styleSheet.ownerNode.textContent;
  } else if (tag == 'link') {
    //is it possible to receive source here without ajax?
  }
});

有没有办法获取链接源而不将其作为文本加载?

1 个答案:

答案 0 :(得分:1)

使用document.styleSheets,您可以浏览页面上所有已加载的样式表。每一个都是css规则元素的列表。您可以获取这些css规则的cssText属性。

基于this post,我想出了一个示例脚本来获取页面上加载的所有css规则文本。希望它有所帮助...

http://jsfiddle.net/qMAW7/1/

var cssStyles = "";

//Started at index 1 for index 0 is browser's user agent stylesheet.
for(var i=1; i<document.styleSheets.length; i++) {
    var style = null;
    with (document.styleSheets[i]) {
        if (typeof cssRules != "undefined")
            style = cssRules;
        else if (typeof rules != "undefined")
            style = rules;
    }
    for(var item in style) {
        if(style[item].cssText != undefined)
            cssStyles = (style[item].cssText);
    }
}

alert(cssStyles);