プロジェクトの 1 つで Modernizr を使用しています。ポリフィルをダウンロードする前に、プレースホルダーの存在をテストしたいと思います。これを達成するために私が使用しているコードは次のとおりです。
yepnope({
test : Modernizr.input.placeholder,
nope : '/js/jquery.placeholder.js',
complete: function(){
$('input, textarea').placeholder();
}
});
これに関して奇妙な問題が発生しています。キャッシュからリソースをロードせずにページにアクセスすると完全に機能しますが、ページを更新すると、.placeholder() の呼び出しで未定義のメソッド エラーが発生します。
開発ツールを見ると、空の jquery.placeholder.js (キャッシュから) が原因のようです。Fiddler で、2 番目の応答が 304 を返し、空の本文を送信していることを確認できます。これは、IE がキャッシュに正しいバージョンを持っている必要があることを意味しますが、どういうわけか空です。この動作の原因は何ですか?
編集: placeholder.js を頭に追加すると、すべてが常に正常に機能します。私がそれを指摘すると思っただけです。