タッチ デバイスが含まれていない場合にのみ、fancybox を含めたいと思います。これまでの私のコードは次のとおりです。
<script>
yepnope([{
test : Modernizr.touch,
nope : './js/lib/fancybox/jquery.fancybox.pack.js',
callback : {
"jquery.fancybox.pack.js": function () {
console.log("fancybox loaded!");
}
}
}]);
</script>
このコードは、body の終了タグの前に配置されます。エラーTypeError: k.apply is not a function
が発生しますが、これは役に立ちません。
私の質問:
- この相対パスで js ファイルをロードできますか?
- 相対パスはどこから始まりますか? イェプノペのいる道から?
- JS および CSS ファイルを条件付きで読み込むにはどうすればよいですか?
アップデート:
今、私は別の方法を試しました:
<script>
Modernizr.load([
{
test : Modernizr.mq('screen and (max-width: 31.25em)'),
yep : {
'photoswipe' : ['/js/klass.min.js', '/js/code.photoswipe-3.0.5.min.js']
},
nope : {
'fancybox' : ['/js/lib/fancybox/jquery.fancybox.pack.js', '/js/lib/fancybox/jquery.fancybox.css']
},
callback : {
'photoswipe': function (url, result, key) {
var myPhotoSwipe = $("a.fancy").photoSwipe({ enableMouseWheel: false , enableKeyboard: false });
},
'fancybox': function (url, result, key) {
$('a.fancy').fancybox();
}
}
}
]);
</script>
次のエラーが表示されますTypeError: a.split is not a function
。私が間違っていることは何ですか?