因此,假设您正在实施一个使用jQuery HEAVILY的网站。你可以放一些像
这样的代码<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>
但有两种简单的方法吗?例如,如果您可以使用该存储库,但是如果您不能使用本地副本。
答案 0 :(得分:6)
检查第一个脚本中的变量。如果找不到,请使用document.write创建第二个脚本标记。以下是我发现here的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>
答案 1 :(得分:2)
在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。
答案 2 :(得分:0)
如果需要,可以动态添加资源。例如:
<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>
答案 3 :(得分:0)
虽然在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 ($) {
});