getComputedStyle()和可以具有与之关联的URL的属性

时间:2011-05-10 20:01:24

标签: javascript css

我正在尝试制作一个javascript片段,它可以获取网页中使用的所有图像(或其他资源)的列表,因为它们在css中被引用。通常它们是背景图像,因为在CSS中的某处有类似的东西:

.something {
  background: transparent url(images/somethingbg.png) no-repeat top left;
  }

似乎我可以使用以下代码段将所有这些内容放入一个数组(带有完整路径):

var outputArray = [];
var string = "";
var elems = document.getElementsByTagName('*');
for (var i = 0; i<elems.length; i++) {
 var elem = elems[i];
 var style = window.getComputedStyle(elem, null);
 var value = style.getPropertyValue("background-image");
 if (value && value != "" && value != "none")
  outputArray.push(value);
 }

但是,我希望这可以在任何文件上运行(作为书签运行),我知道url()可以应用于非背景图像的东西,例如“list-style-image”。还有更多吗?这些地方有这样的清单吗?

1 个答案:

答案 0 :(得分:2)

AFAIK这里有一个非常详尽的(?)列表:

  1. background-image(简写 背景)提防多重 CSS3中的url("")
  2. list-style-image(简写 列表样式)
  3. 行为(-ms-behavior),filter( - ms-filter),filter和-moz-binding
  4. 光标
  5. 含量
  6. 包含URI的属性选择器 值:href,cite,xmlns,src, data- *,data,codebase,classid,archive,longdesc,profile ...
  7. @ import,@ namespace和@ font-face