我试过你的代码蚂蚁它适用于我,(在铬,与内部的CSS),但它使用从CDN加载外部CSS时失败,所以我想你的问题是“规则”属性提到的@PatrickEvans 。
如果您没有找到任何其他的好方法,那么您可以添加一个元素到页面中,但不会影响页面显示,但可以检查是否有更改。
例如添加一个像这样的特定css规则。
html body div#my_stylesheet_name {
width: 112px !important;//random width that is unlikely overwritten by another css
}
//then use javascript timer/interval to check if
element with id of "my_stylesheet_name" has width of 112, if so, then it means css has loaded.
编辑 - 如果你没有任何其他选择,你可以考虑这样的事情(我还没有使用过它自己之前,所以浏览器兼容性测试使用它之前)
1)创建使用JS元素
2)添加上的错误和有载事件,并使用这些做你的魔法
var link;
link = document.createElement("link");
link.setAttribute("type", "text/css");
link.οnlοad=function(evt) {
console.log("LINK LOADED", evt);
};
link.οnerrοr=function(evt ) {
console.log("LINK Error", evt);
};
link.setAttribute("rel", "stylesheet");
link.setAttribute("href", "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css");
document.getElementsByTagName("head")[0].appendChild(link);