Modernizrを使用して機能をチェックしています。つまり、csscolumnsを実行してModernizr.load()
を実行していて、この機能が利用できない場合はcss3-multi-column.jsポリフィルを使用しています。これは、Modernizr/yepnopeがModernizrスクリプト要素の直前に、また自分のスタイルシートの前にスクリプトを挿入するという事実を別にすれば、すべてうまく動作します。 Modernazrがページの最後にスクリプトを追加した場合は、css3-multi-column.js
がすべてのスタイルシートの後に含まれなければならないので、私は好きです。それは可能ですか?Modernizr.load()をページの最後に追加する
これは私のコードです:
Modernizr.load({
test: Modernizr.csscolumns,
nope: 'http://host.org/js/libs/css3-multi-column.js';
});
はこれが可能ならば、私は、Modernizrで達成したいものです。
if (!Modernizr.csscolumns) {
var script = document.createElement('script');
script.type = "text/javascript";
script.src = 'http://host.org/js/libs/css3-multi-column.js';
$('body').append(script);
}
あなたの答えをありがとう!私はイープノープソースを見るのが面倒すぎると思う。 Modernizrがjsやcssの前にロードする必要があることから、スタイルシートの後にロードするときに 'yepnope.js' +' css3-multi-coluns.js'が動作しない理由が思い出されます。とにかく、私の質問を投稿してから、yepnopeがページの末尾にスクリプトを追加することをサポートしていなかったという事実を受け入れました。私の代替コードは正常に動作しますが、私はちょうどyepnopeを使う方がクリーンなソリューションだと思っていました。 – Simon
今日は 'Modernizr * 'でCSSを読み込もうとしましたが、' css3-multi-coluns.js'の前にロードされていると確信していました。 * Modernizr *コードに 'script.type =" text/javascript "を追加しても大したことはありません。私はModernizr *とあなたのコードで使われている方法の違いは分かりません。 – Etienne
Modernizrがsrc/hrefやその他の属性を設定し、スクリプトとリンク要素を文書に追加すること、つまり私の回避策とほぼ同じことを、私が知る限り、本質的には同意します。 – Simon