私は yepnope.js を使用していますが、ロード時に関数をロードする際にわずかな問題があります
頭の中で、はい、いいえを含めて、関連するjsファイルを呼び出します
<script type="text/javascript" src="/code/trunk/javascript/external/modernizr/modernizr-development.js"></script>
<script type="text/javascript" src="/code/trunk/javascript/external/yepnope.1.5.3-min.js"></script>
<script type="text/javascript">
yepnope({
test: Modernizr.mq('only all and (max-width: 700px)'),
yep: ['/templates/client/jquery/qff/plugin.mobile.js'],
nope:['/templates/client/jquery/qff/plugin.website.js']
});
</script>
そして、ページの一番下に
<script type="text/javascript">
jQuery(document).ready(function()
{
jQuery("#mainContent").setupQantas({
startSlide: 1,
googleAnalytics:1,
googleCode:""
});
});
</script>
だから私はメイン画面でこれを見ています。そのため、plugin.mobile.js を呼び出すことがサポートされています
plugin.mobile.js ファイルで
(function( $ ){
$.fn.setupQantas = function( options ) {
// Create some defaults, extending them with any options that were provided
var settings = $.extend( {
startSlide: 1,
googleAnalytics:0, // 1 sends to google
googleCode: ""
}, options);
var methods = {};
return this.each(function() {
if (settings.startSlide === 1) {
alert("slide = 1");
} else {
alert("slide > 1");
}
});
};
})( jQuery );// JavaScript Document
警告スライド 1 を表示する代わりに、エラーが表示されます
jQuery("#mainContent").setupQantas is not a function
yepnope を使用せず、script タグに入れるだけで機能します。yepnope が js ファイルに読み込まれるときに遅延があるようで、doc.ready の前に行わないようです。
これを回避する方法はありますか?
ありがとう