首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何判断链接的资源是否加载成功

如何判断链接的资源是否加载成功
EN

Stack Overflow用户
提问于 2011-04-10 03:19:58
回答 5查看 340关注 0票数 6

我使用以下JavaScript动态加载样式表:

代码语言:javascript
运行
复制
function set_stylesheet(name) {
    var link = document.getElementById('userstylelink');
    link.href = link.href.replace(/[^\/]+\.css$/, name + '.css');
}

有没有办法确定新的CSS文件是否加载成功?如果失败,我希望能够应用默认样式表。

EN

回答 5

Stack Overflow用户

发布于 2011-04-19 05:14:43

您可能想在这里看到我对另一个类似问题的回答:Detect and log when external JavaScript or CSS resources fail to load

基本上,您可以添加onload回调来查看文件是否已加载。(当然,如果您通过JS加载)

票数 1
EN

Stack Overflow用户

发布于 2011-04-29 21:16:41

最简单的方法是在分配新的href之后检查链接元素的styleSheet.cssText属性。

代码语言:javascript
运行
复制
function set_stylesheet(name) { 
  var link = document.getElementById('userstylelink');     
  link.href = link.href.replace(/[^\/]+\.css$/, name + '.css'); 
  if ( link.styleSheet.cssText ) {
    //if not empty string, it was loaded
  }
  else {
    link.href = "default.css";
  }

或者,还有一个"onerror“事件,它会在分配href后加载资源失败时触发。

票数 1
EN

Stack Overflow用户

发布于 2011-04-10 05:40:36

理想情况下,您应该在开始时加载它们,然后在其间切换。

http://www.alistapart.com/articles/alternate/

http://www.thesitewizard.com/javascripts/change-style-sheets.shtml

这并没有真正回答问题,但我认为这种方式更可取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5607239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档