Google CDN Хостинг jQuery UI CSS с локальным резервом? - PullRequest
7 голосов
/ 30 июня 2011

У меня уже есть следующее для файлов JS:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">!window.jQuery && document.write(unescape("%3Cscript src='/app_shared/script/jquery-1.6.1.min.js' type='text/javascript'%3E%3C/script%3E"))</script>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js"></script>
<script type="text/javascript">!window.jQuery.ui && document.write(unescape("%3Cscript src='/app_shared/script/jquery-ui.min.js' type='text/javascript'%3E%3C/script%3E"))</script>

Как я могу пойти на что-то подобное для темы? Я могу скачать его с CDN, как это:

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>

Но как я могу определить, был ли файл загружен, чтобы ссылаться на локальную копию при сбое? Я знаю, как добавить локальную копию программно с помощью jQuery, но я не знаю, как проверить, успешно ли загружена CSS. Кроме того, блокируются <link> загрузки тегов или они асинхронны? Это тоже было бы проблемой.

Ответы [ 2 ]

0 голосов
/ 30 июня 2011

Вы также можете попробовать что-то вроде Получить значение CSS из внешней таблицы стилей с помощью Javascript / jQuery

<style>
p {color: blue}
</style>

$(document).ready(function() {
    var $p = $("<p></p>").hide().appendTo("body");
    alert($p.css("color"));
    $p.remove();
});
0 голосов
/ 30 июня 2011

Вы можете сделать проверку стиля, где шрифт должен быть определенной семьи, а затем проверить по этой фамилии.Если имя не соответствует ожидаемому, загрузите локальную копию.

...