是否成功" /> 如何检查 <link rel="stylesheet" href="file.css"> 是否成功

如何检查 是否成功

2024-02-06

我正在将主题设置添加到我的 js 应用程序中。该应用程序也应该离线工作,所以我必须检查远程样式文件(例如http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/jquery/jquery-ui.css) 存在并且可到达,否则我设置href in <link rel="stylesheet">指向本地文件。

到目前为止,我使用了以下代码,但使用 jQuery 2.1.3 时,它在控制台上输出警告:

主线程上的同步 XMLHttpRequest 已被弃用,因为它会对最终用户的体验产生不利影响。如需更多帮助,请检查http://xhr.spec.whatwg.org/ http://xhr.spec.whatwg.org/.

在线引出jquery-2.1.3.js:8556好吧,我可以忽略这个警告......

url = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/jquery/jquery-ui.css";

$.ajax({url: url,
    type: "HEAD",
    timeout: 1000,
    async: false,
    error: function() {url = 'css/jquery-ui.css';}
});
/* modify link statement to use url for href */

在寻找替代方法时,我尝试检查链接语句在更改其 href 后是否已加载新的 css,例如:

$('#id_of_the_link_stmt').error(function() {
  console.log("New url not loaded, reverting to local file")
}).attr('href', url);

但它不起作用。

感谢您的建议!


为什么不使用替代样式表和组?

您始终可以包含基本样式表和自定义样式表作为备用样式表:

<link rel="stylesheet" type="text/css" href="css/base.css" title="base" />
<link rel="alternate stylesheet" type="text/css" href="css/custom.css" title="base" />

在这种情况下,custom.css可用,浏览器将加载他(仅他) - 如果它不可用,浏览器将移至第一个(没有备用)并加载他 - 例如:

<link rel="stylesheet" type="text/css" href="css/base.css" title="base" />
<link rel="alternate stylesheet" type="text/css" href="css/custom11111.css" title="base" />

现在,base.css 已加载,因为 custom1111.css 不可用。

请注意,该组是由以下定义的title属性 - 您也可以设置许多组 - 例如:

<link rel="stylesheet" type="text/css" href="css/main.css" title="base" />
<link rel="alternate stylesheet" type="text/css" href="css/main_custom.css" title="base" />

<link rel="stylesheet" type="text/css" href="css/nav.css" title="nav" />
<link rel="alternate stylesheet" type="text/css" href="css/nav_custom.css" title="nav" />

使用 JavaScript 切换样式表:

您可以通过将样式表设置为来禁用它disabled = true使用 title 属性来标识要禁用或启用的正确样式表。

更多阅读和示例:

  • 替代 CSS 样式/主题 http://www.thesitewizard.com/css/switch-alternate-css-styles.shtml
  • 如何使用 JavaScript 动态更改级联样式表 (CSS) http://www.thesitewizard.com/javascripts/change-style-sheets.shtml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 是否成功 的相关文章

随机推荐

  • boost::make_shared 没有调用(放置)运算符 new 吗?

    我第一次使用 boost make shared 创建共享指针指向的对象 主要是因为我们的代码太慢了 而单一分配确实有助于提高性能 在 硬手动方式 修复了一些内存泄漏之后 我决定通过覆盖所有相关类的新运算符来实现一个简单的内存泄漏检测器 只
  • 未遵循 Java log4j2 记录器级别

    所以我正在尝试学习 log4j2 并关注记录器及其级别和父级传播 目前我的源层次结构运行是 main java calculatorMain Main java someClass2 java someClass1 java resourc
  • PHP:选择添加到 Amazon S3 文件夹的最新文件

    我正在开发自动更新解决方案 并使用 Amazon S3 进行分发 我希望它的工作方式如下 我将文件上传到 s3 文件夹 自动 PHP 脚本检测到已添加新文件并通知客户端 为此 我需要以某种方式列出亚马逊存储桶文件夹中的所有文件 并找到最后添
  • 将 Windows 设备路径解析为驱动器盘符

    如何解析 NT 样式的设备路径 例如 Device CdRom0 到其逻辑驱动器号 例如G 编辑 不幸的是 卷名称与设备路径不同GetVolumePathNamesForVolumeName 行不通的 希望下面的代码足以解决这个问题 在初始
  • Linux异步IO的状态?

    我在这里问这个问题是因为谷歌搜索会让你在档案馆中进行一次愉快的旅行 但没有任何关于当前状态的提示 如果你通过 Google 进行搜索 你会发现异步 IO 在 2001 年到 2003 年期间非常流行 到 2006 年 一些类似的东西epol
  • 仅允许特定电子邮件地址在 Rails 应用程序中注册 (Devise)

    我正在使用 Devise 在我的 Rails 应用程序中验证和注册用户 但是 我只希望拥有特定结尾电子邮件的用户能够注册并访问它 比方说 xyz com 我需要做什么来反映这一点 如果您想在注册后限制用户访问 请使用 before filt
  • 在 C# 中从图像的 EXIF 获取 GPS 数据

    我正在开发一个系统 允许使用 ASP NET C 将图像上传到服务器 我正在处理图像 一切正常 我设法找到一种方法来读取创建日期 EXIF 数据并将其解析为日期时间 这也很好用 我现在正在尝试从 EXIF 读取 GPS 数据 我想捕获纬度和
  • 使用 pg-promise 记录特定的 postgresql 查询

    我在用pg 承诺 https github com vitaly t pg promise与 Nodejs 一起打包以执行 PostgreSQL 查询 我想查看执行的查询 仅特定查询 例如 我想调试的一个查询 我可以看到一种推荐的方法是使用
  • 整数值比较

    我是一名 Java 编码新手 我刚刚读到可以在 API 中用三种不同的方式描述整数类的变量 我有以下代码 if count compareTo 0 System out println out table count 这是在循环内部并且仅输
  • 当弹性项目换行到新行时,我可以将 CSS 应用于它吗?

    wrapper border 5px solid pink display flex flex wrap wrap justify content center a fc background color purple width 300p
  • NSTokenField 不允许我输入 tokenField:completionsForSubstring:... 之外的其他字符串返回

    我的问题是 NSTokenField 不允许我输入我想要的任何文本 它只允许我输入 tokenField completionsForSubstring indexOfToken indexOfSelectedItem 返回的 NSArra
  • 在Python中复制基类'__init__'签名的正确方法是什么?

    如果子类没有定义自己的 init 方法时 基类的构造函数 因此其签名 会自动继承 但是应该如何定义子类 init 继承基类签名的方法 自动 例如 class Base def init self arg1 arg2 self arg1 ar
  • 此解析操作已经结束。 Autofac、Automapper 和 IMemberValueResolver

    我对 Autofac 和 Automapper 有疑问 在我的 WebApi 中 我有以下代码来注册我的类 public static void Initialize HttpConfiguration config IContainer
  • 如何将参数传递给sql'in'语句?

    我想创建这个查询 select from products where number in 123 234 456 但我找不到任何使用 Npgsql 和 NpgsqlParameter 实现此目的的示例 我尝试这样 string numbe
  • com.sun.faces.config.ConfigureListener 的配置

    我正在审查当前的 JSF 项目 其中web xml配置包含 FacesServlet 配置在 xhtml the com sun faces config ConfigureListener 我正在使用 JSF 2 2 和 Mojarra
  • 控制器未出现在 swagger-ui.html 中

    我使用 Swagger 2 和非 spring boot 我也可以在 Tomcat 上部署我的应用程序并成功运行它 但控制器并没有出现在swagger ui html 只显示带有绿色招摇标题的空白页面 我在这个问题上花了两天时间 你能给我一
  • 具有子例程和函数的 Fortran OpenMP

    免责声明 我很确定这个问题已经在某个地方得到了回答 但我自己和另一个人一直在努力搜索 但没有结果 我有一个看起来像这样的代码 PROGRAM main omp parallel do omp private somestuff shared
  • 手动身份验证时,使用 sessionRegistry 获取登录用户不起作用

    我使用 spring security3 和 spring mvc3 构建一个Web项目 有一个名为index jsp的页面 上面会显示登录用户名和在线用户数 该屏幕的顶部 有2种方式登录系统 从登录页面 使用 j spring secur
  • 如何在 jQuery Mobile 中动态设置“data-collapsed”和“data-theme”?

    我在运行时动态设置 数据主题 和 数据折叠 时遇到问题 我使用了 selector attr data collapsed false and selector attr data theme b 但它不起作用 如何使用 jQuery 或
  • 如何检查 是否成功

    我正在将主题设置添加到我的 js 应用程序中 该应用程序也应该离线工作 所以我必须检查远程样式文件 例如http ajax googleapis com ajax libs jqueryui 1 11 2 themes jquery jqu