CSS文件中的相对URL使用该CSS文件的URL作为其基础。这经常用于指定背景图像。在Javascript中,可以通过解析background-image
的CSS规则来获得这样的相对URL(即将url
部分串起来并删除引号)。现在的问题是:有没有办法找到浏览器将使用的绝对URL,如果CSS文件的URL未知, ?
特别是,我需要获得背景图像的自然尺寸。通常的方法是创建Image
元素,分配源URL,等待“加载”事件并阅读width
/ height
属性。但是,如果CSS文件位于HTML文档的不同目录中,这显然不适用于相对URL。
答案 0 :(得分:0)
for(var ssx=0; ssx<document.styleSheets.length; ssx++){
var ccss = document.styleSheets[ssx],
crs = ccss.rules || ccss.cssRules;
console.log( ccss.href ); // see here - this can be used as reference
for( var rx=0; rx<crs.length; rx++){
console.log( crs[rx].cssText );
}
}
google:chrome将始终输出绝对网址,在mozilla:firefox中你必须使用href并解析“../”的数量才能获得它。
答案 1 :(得分:0)
window.getComputedStyle(ref_to_element, null).getPropertyValue('background-image');
返回绝对路径。