我有一个与yepnope有关的问题让我发疯,我花了很多时间寻找答案而没有运气。
首先,我使用device.js来检测屏幕大小,如果它检测到桌面,它会在标签中抛出一个桌面类。在桌面上我想要加载另一个脚本,然后将函数提供给某个类(在移动设备上,脚本将不会加载,并且某些类将保持静态。)
但是,当yupnope执行时,它会将我的脚本抛到head标签中所有其他脚本的TOP上,并且不会执行和运行。我知道该脚本有效,因为我手动将它放在我的其他脚本的底部。我的问题是如何让yepnope最后加载脚本而不是把它放在其他脚本的顶部?我有一种唠叨的感觉,这是回调的来源,但我仍然试图获得javascript!
这是我的yepnope代码:
$(document).ready(function(){
if ($('.desktop').length !=0) {
yepnope({
load: "js/jquery.malihu.PageScroll2id.js",
});
};
});
这是我的HTML:
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/modernizr.custom.js"></script>
<link href="css/bootstrap.css" rel="stylesheet" media="screen">
<link href="css/bootstrap-responsive.css" rel="stylesheet" media="screen">
<link href="css/global.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
<script src="js/device.js"></script>
<script src="js/fixedonlater.js"></script>
<script src="js/scripts.js"></script>
yepnope条件位于文件scripts.js中,该文件最后执行,但仍然将顶部调用的jquery.malihu.PageScroll2id.js脚本放入错误的顺序,如下所示:
<script src="js/jquery.malihu.PageScroll2id.js"></script> //script on top = BAD!!
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/modernizr.custom.js"></script>
<link href="css/bootstrap.css" rel="stylesheet" media="screen">
<link href="css/bootstrap-responsive.css" rel="stylesheet" media="screen">
<link href="css/global.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
<script src="js/device.js"></script>
<script src="js/fixedonlater.js"></script>
<script src="js/scripts.js"></script>