7

我已经为 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>标签下载是阻塞的,还是异步的?那也会是个问题。

4

2 回答 2

0

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

于 2011-06-30T15:48:32.500 回答
0

您还可以尝试 使用 Javascript/jQuery 从外部样式表获取 CSS 值

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

$(document).ready(function() {
    var $p = $("<p></p>").hide().appendTo("body");
    alert($p.css("color"));
    $p.remove();
});
于 2011-06-30T15:56:48.037 回答