6

我有一个从Google Web Fonts加载 CSS 和字体的网站。但是,使用该站点的一个地方是无法访问 Internet 的本地 Intranet。

我仍然希望尽可能使用 Google 提供的字体,以享受 Google 提供的好处,例如从 CDN 下载的字体,并且可能已经在访问使用它们的另一个站点时缓存在用户的计算机上。

我还使用Google 托管的 jQuery ,如果无法访问 Google ,我会使用以下代码(来自HTML5 Boilerplate )从我的服务器加载 jQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.0.min.js"><\/script>')</script>

我正在寻找一种对 CSS 文件执行相同操作的方法。

<img src="..." onerror="..." />过去曾用于处理不加载的图像,所以我想知道是否可以将其用于不加载的样式表。我在几个浏览器中使用 进行了快速测试 <link href="..." onerror="..." rel="stylesheet" type="text/css" />,并且onerror在所有浏览器中都执行了 ,但我想知道我是否可以期望它在所有浏览器中都能一致地工作。 或者有更好的方法吗?

我在这里看到了其他几个讨论观看document.styleSheets收藏的答案,但这听起来比这更像是一种黑客行为。


注意:这实际上更像是一个“这是否实用并且人们使用它”的问题,而不是一个“规范对此有什么看法”的问题。

4

2 回答 2

6

我相信在 pieisgood 上在 pieisgood上支持的事件<script><link>列表就是您正在寻找的。

如您所见,onload是最广泛支持的<link>,但在工作事件中非常缺乏。但是您可以尝试通过对假设发生错误的某些函数进行onload来实现错误事件。 clearTimeout

于 2013-01-18T04:41:22.133 回答
0

<link>, <style>, 并且<script>都支持该onerror属性,并且可以在大多数现代/流行的浏览器中使用。

一个小警告是,当 href URI 被破坏或链接样式表中的<link>任何 URI 被破坏时,它将触发 onerror 事件。@import

onerror我发现触发事件的唯一方法<style>是使用@import.

损坏@font-face似乎不会触发任一标签的事件。

于 2017-09-07T00:56:43.897 回答