从CSS文件中的相对URL获取绝对值

时间:2014-07-15 11:38:08

标签: javascript css

CSS文件中的相对URL使用该CSS文件的URL作为其基础。这经常用于指定背景图像。在Javascript中,可以通过解析background-image的CSS规则来获得这样的相对URL(即将url部分串起来并删除引号)。现在的问题是:有没有办法找到浏览器将使用的绝对URL,如果CSS文件的URL未知,

特别是,我需要获得背景图像的自然尺寸。通常的方法是创建Image元素,分配源URL,等待“加载”事件并阅读width / height属性。但是,如果CSS文件位于HTML文档的不同目录中,这显然不适用于相对URL。

2 个答案:

答案 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');

返回绝对路径。