毎回ながら忘れない為のメモです。
興味ない人はどーでも良い内容ですが、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のカートページは除外しなくても大丈夫だと思います。
おすすめのコンテンツ
広告