使用javascript / jquery检查.css样式表的名称

我正试图为一个论坛做一个小的chrome扩展,但我只希望它在论坛的某个区域工作。

问题是我不能只做“匹配”:[“subforum”],因为该论坛中的线程无法通过URL区分它们所属的子论坛。

子论坛有自己的css样式表,所以我想我是否可以快速检查当前样式表是否与subforum.css匹配它可以正常工作。

基本上我只需要检查样式表的名称,如果不可能,我如何准确检查当前样式表是否包含某个单词或元素。

使用属性包含选择器 :

if ($('link[href*="myStylesheet.css"]').length) { //stylesheet containing "myStylesheet.css" in the href attribute was found } else { //not found } 

小提琴

当然,如果给出完整的属性值,也可以使用属性等于选择器 。

 if ($('link[href="path/To/myStylesheet.css"]').length) { //stylesheet with link="myStylesheet.css" found, do stuff } 

小提琴

您可以遍历样式表本身和@import规则

 function sheetExists(name){ var s = document.styleSheets, i = s.length, j = 0; while(i-->0){ if(s[i].href !== null){ if(s[i].href.indexOf(name) !== -1) return true; } while(j < s[i].cssRules.length && s[i].cssRules[j].type === 3){ if(s[i].cssRules[j].href !== null){ if(s[i].cssRules[j].href.indexOf(name) !== -1) return true; } j++; } j = 0; } return false; } sheetExists('subforum.css');