我尝试将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?
}
});
有没有办法获取链接源而不将其作为文本加载?
答案 0 :(得分:1)
使用document.styleSheets
,您可以浏览页面上所有已加载的样式表。每一个都是css规则元素的列表。您可以获取这些css规则的cssText
属性。
基于this post,我想出了一个示例脚本来获取页面上加载的所有css规则文本。希望它有所帮助...
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);