jQuery Migrate pluginを使ってみる。
痩せないとコートが入らないことに気づいたfukasawaです。こんにちは。
冬が来る前に痩せないと凍死してしまいます。
jQuery Migrate pluginは、jQueryのバージョン差異によって発生する問題を解決する為のjQueryプラグインです。「jQueryのバージョンを上げたら動かなくなった…!」という場合に修正箇所を教えてくれたり、廃止されたAPIを復元して動くようにしてくれたりします。
個人的に使った事が無かったので、使い方について簡単に調べてみました。
できること
① 廃止されたAPIを使おうとしたり、挙動が変わった機能を使おうとした際に、ブラウザのコンソールに警告を出力する- 開発版(Development version)のjQuery Migrateを使用する
- jQueryのversion 1.6.4以降を使用していること
- 製品版(Production version)のjQuery Migrateを使用する
- jQueryのversion 1.9以降を使用していること
廃止されたAPIが使われているかチェックする
廃止されたAPIの使用をチェックするには、開発版(Development version)のjQuery Migrateを使用します。
jQuery(今回は1.10.2を使います)と開発版のjQuery Migrateを読み込みます。
<script src="./js/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="./js/jquery-migrate-1.2.1.js" type="text/javascript"></script>
jQuery1.9で廃止された.live()と.toggle(function,function,...)を使ってみます。
$(function() {
$("#toggle_test").toggle(
function () {
console.log("toggle test1");
},
function () {
console.log("toggle test2");
}
);
$("#live_test").live("click",function(){
console.log("live test");
});
});
ブラウザで表示すると、コンソールに警告が出力されました。"JQMIGRATE"で始まっているものがjQuery Migrateが出力したメッセージです。
JQMIGRATE: Logging is active
jQuery Migrateが読み込まれた時に出力される
JQMIGRATE: jQuery.fn.toggle(handler, handler...) is deprecated
廃止された.toggle(function,function,...)を使っていた場合に出力される
JQMIGRATE: jQuery.fn.live() is deprecated
廃止された.live()を使っていた場合に出力される
警告文の一覧はgithubに掲載されています
下記のサイトで日本語の解説を見ることができます。
廃止されたAPIを復元させる
廃止されたAPIを復元するには製品版(Production version)のjQuery Migrateを使用します。
開発版の説明で使用したコードについて、読み込むjQuery Migrateを開発版から製品版に置き換えます。(拡張子が".min.js"となっている方が製品版)
<script src="./js/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="./js/jquery-migrate-1.2.1.min.js" type="text/javascript"></script>
コンソールにjQuery Migrateのメッセージが出力されなくなり、jQuery1.9で廃止された.live()と.toggle(function,function,...)を使用できるようになります。