首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您能自动选择两个<script src="">文件吗?

您能自动选择两个<script src="">文件吗?
EN

Stack Overflow用户
提问于 2014-07-14 05:29:04
回答 4查看 252关注 0票数 2

因此,假设您正在实现一个大量使用jQuery的网站。你可以放一些代码

代码语言:javascript
复制
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

并从某个存储库导入它。如果您正在开发没有internet的源代码,您可以下载源代码并将其存储在本地的某个地方,然后使用一些脚本访问它,如

代码语言:javascript
复制
<script src="js/jquery-1.10.2.min.js"></script>

但有什么简单的方法可以做到两者兼得呢?例如,如果您可以到达存储库,那么就使用它,但是如果您不能使用本地副本。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-14 05:34:56

检查第一个脚本中的变量。如果找不到,请使用document.write创建第二个脚本标记。下面是jQuery的一个示例,我找到了here

代码语言:javascript
复制
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>!window.jQuery && document.write('<script src="js/jquery-1.7.1.min.js"><\/script>')</script>
票数 6
EN

Stack Overflow用户

发布于 2014-07-14 05:33:48

在CDN上引用脚本的失败安全方法是,只有当CDN由于任何原因失败时,才链接到本地副本。

要做到这一点,只需检查脚本中是否执行了任何内容。对于jQuery,这只是简单地检查jQuery是否存在:

代码语言:javascript
复制
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<script type="text/javascript">
    if (!window.jQuery) document.write('<script type="text/javascript" src="/path/to/jquery-ver.sion.min.js"><\/script>');
</script>

就我个人而言,我从来没有因为CDN离线而导致脚本失败,但是我也有过一段时间的互联网中断。通过设置适当的后备脚本,我能够继续本地开发,因为这些页面仍然工作,而不需要连接到CDN。

票数 2
EN

Stack Overflow用户

发布于 2014-07-14 05:39:36

如果需要的资源不可用,可以动态添加资源。例如:

代码语言:javascript
复制
<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script type="text/javascript"> 
        if( typeof $ != "function")
        {
            var head= document.getElementsByTagName('head')[0];
            var script= document.createElement('script');
            script.type= 'text/javascript';
            script.src= 'js/jquery-1.10.2.min.js';
            head.appendChild(script);
        }
        </script>

</head>
<body>
</body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24730021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档