毎回ながら忘れない為のメモです。
興味ない人はどーでも良い内容ですが、jquery 1.xと2.xをブラウザで分岐させるメモです。
広告
wordpress上での書き方
ホントメモなので、いきなりコード
function deregister_files() {
if (!is_admin()) {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js', array(), null, false);
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'jquery-1-11', '//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js', array(), null, false);
wp_script_add_data( 'jquery-1-11', 'conditional', 'lt IE 9' );
wp_enqueue_script( 'jquery-mig', '//cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.2.1/jquery-migrate.min.js', array(), null, false);
}
}
add_action( 'wp_enqueue_scripts', 'deregister_files');
add_filter( 'script_loader_tag', function( $tag, $handle ) {
if ( $handle === 'jquery-2x' ) {
$tag = "<!--[if gt IE 8]><!-->$tag<![endif]-->";
}
return $tag;
}, 10, 2 );
まずはwp_enqueue_scriptsに引っ掛けてCDNに変更。nullはバージョンの数字を消してます。
その後、ブラウザの分岐。
モダンなブラウザなら2.xのほうが早いって話。
つーか早くIE8以前が全滅してくれればこんな必要無いのに、意外とまだシェアが残ってますよね。
きっと、ウチのお客さんとかもレガシーなブラウザの人結構いると思う。僕の周り、みんなアナログだもんなー。
ちなみにwelcartで使うなら、!is_admin()以外にカートページも除外したほうが良いと思う。
ではでは。
少し変更しました。この書き方ならwelcartのカートページは除外しなくても大丈夫だと思います。
おすすめのコンテンツ
広告
