Javascript 我可以得到链接样式表的文本源吗?
我试图从link元素中获取css作为文本。 例如,对于Javascript 我可以得到链接样式表的文本源吗?,javascript,html,css,Javascript,Html,Css,我试图从link元素中获取css作为文本。 例如,对于样式元素,它是最简单的: [].map.call(document.styleSheets, function(styleSheet) { var tag = styleSheet.ownerNode.tagName.toLowerCase(); if (tag == 'style') { return styleSheet.ownerNode.textContent; } else if (tag == 'link')
样式
元素,它是最简单的:
[].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?
}
});
有没有办法在不将链接源作为文本加载的情况下获取链接源?使用
document.styleSheets
您可以在页面上的所有加载的样式表之间进行交互。每一个都是css规则元素的列表。您可以获得这些css规则的cssText
属性
基于,我提出了一个示例脚本,用于将所有css规则文本加载到页面上。希望对你有帮助
var cssStyles=“”;
//从索引0的索引1开始是浏览器的用户代理样式表。
对于(var i=1;它仅适用于有效的css规则。例如,如果源代码中存在“-moz-box-sizing”,并且css已加载到chrome中,则此选项将被删除。我认为您需要将其设置为cssStyles+=“\n”+(style[item].cssText);
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);