私はこのコードを実装しました:
<script>
var mod_PPfix = false;
Modernizr.load({
test: Modernizr.csstransitions && Modernizr.input.required,
nope: ['script1.js', 'script2.js'],
complete: function () {
mod_PPfix = true;
console.log('ppfix');
}
});
</script>
数行後に、この別のスクリプトを配置しました
<script>
if (!mod_PPfix) {
$(document).ready(function() {
console.log('this should be seen only if modernizr's tests are true');
});
}
</script>
今、私は本当にJavaScriptの新人ですが、上記のコードからconsole.log()
、modernizrテストの結果がtrueの場合にのみ2番目を表示することを期待していました. テスト結果が陰性であっても、2 番目のログは記録されます。
私が知る限り、コンソールではconsole.log()
「ppfix」という最初のメッセージの前に 2 番目のメッセージが表示されるので、ロード タイミングの問題のようなものだと思いますが、その理由はわかりません。私は何を間違っていますか?
それが役立つ場合は、Jquery をライブラリとして使用しています。
ありがとうございました!