Can you automatically choose between two <script src=&quo
Can you automatically choose between two <script src=""> files?
假设你正在实现一个大量使用jQuery的网站。你可以输入一些像
这样的代码<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
并从某个存储库导入。如果你在没有互联网的情况下开发它,你可以下载源代码并将其存储在本地的某个地方,然后用一些脚本(如
)访问它。<script src="js/jquery-1.10.2.min.js"></script>
但是有没有一种简单的方法可以同时拥有两者呢?例如,如果您可以到达存储库,请使用它,但如果您不能使用本地副本。
检查第一个脚本中是否有变量。如果没有找到,请使用document。编写以创建第二个脚本标记。下面是我找到的一个jQuery示例:
<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>
在CDN上引用脚本的故障安全方法是仅在CDN因任何原因失败时链接到本地副本。
这样做的方法是简单地检查脚本中是否有任何内容已经执行。对于jQuery,这只是检查jQuery是否存在:
<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。
如果所需资源不可用,您可以动态添加资源。如:
<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>
虽然托管在Google CDN上的JQuery应该足够安全,但下面的代码可以作为requireJS的后备。
requirejs.config({
enforceDefine: true,
paths: {
jquery: [
'//ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js',
'js/jquery-ui.min.js'
]
}
});
require(['jquery'], function ($) {
});
相关文章:
- 在<script src=“"></脚本>标签
- 等效于<script src=“;something1.json”></脚本>
- 是否在Script Src标记中包含Script<脚本>(JavaScript等)
- 显示“<script src='some.js'></脚本>"在Html文档中
- <script src=“//代码.jquery.com/jquery-1.11.1.min.js”></
- 类似于htmls<script src=“">xaml的标签
- Cordova接受<script src=“;myfile.js”>在<头部>
- 为什么我不得到“;NetworkError”;当我使用<script src=“;false _ ip”>
- 内容安全策略指令:“script-src 'self' 'unsafe-eval'”
- 为什么 script.src 会像它一样工作
- 我可以在<script src=“;ftp://”>
- 为什么可以't我将JS代码置于<script src=“">代码</脚本>
- 将用户输入动态地附加到<script src=“">来自Java Script中的文本框
- 使用不同于“;script.src”;
- Javascript multiple script src
- 正在对iframe-src和script-src中的URL进行身份验证
- 将“<script src=“;直接连接到另一个元件
- 通过Javascript而不是<script src=“;external.aspx”>
- 可以't添加<script src=“"到使用Window.open().docent.writ
- How can I get json content in <script src="url.json&