如何知道动态加载的CSS文件何时已完全加载并处于活动状态
How to know when a dynamically loaded CSS file is fully loaded and active?
我使用了StackOverflow上的一篇文章中描述的技术,将CSS文件动态添加到HTML页面的HEAD标记中(使用JavaScript)。检查CSS文件是否已完全加载的方法(见同一篇文章)被其作者描述为"丑陋",在我看来是;-)还有一篇帖子建议使用"懒惰加载程序"(请参阅该帖子中公认的答案),将跨浏览器问题考虑在内。尽管代码看起来不错,但对于手头的任务来说似乎相当复杂。
我的问题是:在我上次提到的帖子(以及浏览器技术的许多改进)发布一年多后,是否有一种可靠的跨浏览器方法来检查动态加载的CSS文件是否可以使用?
尝试类似的东西
(function() {
function cssLoader(url) {
var link = document.createElement("link");
link.onload = function(){
console.log('loaded');
};
link.setAttribute("rel", "stylesheet");
link.setAttribute("type", "text/css");
link.setAttribute("href", url);
document.getElementsByTagName("head")[0].appendChild(link)
}
cssLoader('http://jsfiddle.net/css/style.css');
}());
您可以通过用img
加载CSS文件来实现它。
var img = document.createElement("img");
img.onerror = function()
{
console.log("loaded");
}
img.src = url;
更多信息请点击此处:http://www.backalleycoder.com/2011/03/20/link-tag-css-stylesheet-load-event/
相关文章:
- 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于活动状态
- 带有jquery.min.map的Ruby on Rails:未能加载资源状态406
- 维护手动页面刷新时通过AJAX加载的状态/内容
- css类在页面重新加载后处于活动状态
- 使用AngularJS路由器加载404状态
- 在加载新页面时保持选项卡永久处于活动状态
- 如何在加载活动项时启用活动项以在页面的下拉列表中选中
- 仅在选项卡处于活动状态时加载数据
- 如何在 AngularJS 中重新加载子视图而不重新加载整个状态
- 活动类在页面加载时不保持活动状态
- 如何在页面重新加载后使用 Twitter 引导程序保持当前选项卡处于活动状态
- 如何预加载悬停状态的图像以使背景立即更改,而不是在几秒钟后更改
- 如何加载麦克风请求并保持其活动状态
- 如何在浏览器 JavaScript 中维护来自同一站点的不同页面加载的状态
- 加载子状态时修改父控制器状态
- 当我的angularjs应用程序启动时,有没有办法防止加载初始状态
- 在UI-Router的嵌套路由中,子状态加载父状态templateUrl
- React.js-在Render中区分加载/空状态的干净方法
- Ember's加载子状态的问题
- 如果AngularJS中的父状态控制器发生了变化,我该如何重新加载子状态?