Javascript Google CDN托管的jQuery UI CSS是否具有本地回退功能?

Javascript Google CDN托管的jQuery UI CSS是否具有本地回退功能?,javascript,jquery,google-cdn,Javascript,Jquery,Google Cdn,我已经为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_sh

我已经为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>

!window.jQuery&&document.write(unescape(“%3Cscript src=”/app_shared/script/jQuery-1.6.1.min.js”type='text/javascript“%3E%3C/script%3E”))
!window.jQuery.ui&&document.write(unescape(“%3Cscript src=”/app_shared/script/jQuery ui.min.js”type='text/javascript“%3E%3C/script%3E”))
我怎样才能为一个主题选择类似的东西? 我可以从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下载是否成功。另外,
标签下载是阻塞还是异步?这也是一个问题。

您可以在字体应为特定系列的位置进行样式检查,然后对照该系列名称进行检查。如果名称不是您期望的名称,则加载本地副本。

您也可以尝试以下操作


p{颜色:蓝色}
$(文档).ready(函数(){
var$p=$(“

”).hide().appendTo(“body”); 警报($p.css(“颜色”)); $p.remove(); });
我正在寻找比这更强大/一致的东西,真的没有其他方法了。您必须等待css加载,然后检查某些样式。不是那个元素,样式不行。当说从外部文件加载的样式时,您还需要另一个。CSS可以异步加载,因此我们需要在_CSS_failed上模拟一个事件
。另一种方法是用JS加载CSS文件,然后使用OneError事件查看它是否加载。缺点是,在加载文件之前,您可能会看到一些非样式的内容……就像使用基于JS的web字体服务一样。
<style>
p {color: blue}
</style>

$(document).ready(function() {
    var $p = $("<p></p>").hide().appendTo("body");
    alert($p.css("color"));
    $p.remove();
});