谷歌CDN托管jQuery UI CSS与本地回退?

时间:2011-06-30 15:46:31

标签: 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_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 :(得分:0)

您可以检查字体应该是特定系列的样式,然后检查该系列名称。如果名称不是您所期望的,则加载本地副本。

答案 1 :(得分:0)

您还可以尝试Get a CSS value from external style sheet with Javascript/jQuery

之类的内容
<style>
p {color: blue}
</style>

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