我直接使用了yepnope主页上示例中的代码:
yepnope([{
load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js',
complete: function() {
console.log('made it');
if(!window.jQuery) { yepnope('/js/jquery.1.5.2-min.js'); }
}
}]);我今天一直在没有互联网的情况下工作,我注意到我的本地版本的jQuery没有被加载。
由于我没有连接到互联网,我假设在上面的例子中Google CDN版本将无法加载,因此将调用complete函数来加载我的本地副本。看起来complete根本没有被调用,因为我在控制台中看不到'made‘。
另外,我检查了一下,我的本地副本的路径是正确的。
发布于 2011-04-23 00:31:38
根据您的评论和问题更新进行编辑:
您必须等待它超时。完整的函数不会立即触发。我刚刚下载了yepnope.js并运行了他们的demo/index.html,并在页面底部加载jQuery的yepnope调用下添加了以下代码:
yepnope({
load : "http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js",
callback : function() { console.log("callback"); },
complete : function() { console.log("complete"); }
});显然,jQuery 1.6.2不会加载。大约10-15秒后,在控制台中,“回调”和“完成”消息都会出现,所以我知道他们被解雇了。
本机警报:
如果您发现您只需要在线/离线开发时使用此功能,您可以尝试Html5Boilerplate使用的功能,我建议您使用:
<!-- Grab Google CDN's jQuery, with a protocol relative URL;
fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
window.jQuery || document.write('<script src="js/jquery-1.5.2.js">\x3C/script>')
</script>下面是我个人使用的:
</form>
<!-- Javascript at the bottom for fast page loading -->
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript"> window.jQuery || document.write('<script src="js/jquery-1.5.2.js">\x3C/script>')</script>
<!-- Grab Google CDN's jQuery UI, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript"> $.ui || document.write('<script src="js/jquery-ui-1.8.4.custom.min.js">\x3C/script>')</script>
<!-- Scripts concatenated and minified via ant build script-->
<script src="js/plugins.js" type="text/javascript"></script>
<script src="js/script.js" type="text/javascript"></script>
<!-- End scripts -->
</body>
</html>https://stackoverflow.com/questions/5757550
复制相似问题