jQuery Migrate pluginを使ってみる。

jQuery Migrate pluginを使ってみる。

痩せないとコートが入らないことに気づいたfukasawaです。こんにちは。
冬が来る前に痩せないと凍死してしまいます。

jQuery Migrate pluginは、jQueryのバージョン差異によって発生する問題を解決する為のjQueryプラグインです。「jQueryのバージョンを上げたら動かなくなった…!」という場合に修正箇所を教えてくれたり、廃止されたAPIを復元して動くようにしてくれたりします。
個人的に使った事が無かったので、使い方について簡単に調べてみました。

できること

① 廃止されたAPIを使おうとしたり、挙動が変わった機能を使おうとした際に、ブラウザのコンソールに警告を出力する
  • 開発版(Development version)のjQuery Migrateを使用する
  • jQueryのversion 1.6.4以降を使用していること
② 廃止されたAPIを復元する
  • 製品版(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が出力したメッセージです。

jquery migrate console

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,...)を使用できるようになります。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ