使用しているjQueryのバージョンを判定する方法

公開したい自作モジュールにjQueryを使っている場合には、

  • 使用者がjQueryを使っているかどうか?
  • サポートバージョンを満たしているかどうか?

をモジュール内で判定してあげると親切です。

jQueryが使われているかを判定

jQueryが使用されているか?を判定するには「jQueryオブジェクトが定義されているかどうか」をチェックします。

JS

if(typeof jQuery === "undefined"){
  throw new Error('jQueryが使われていません');
}

jQueryオブジェクトが読み込まれていなければ”typeof jQuery”が”undefined”を返します。

使用しているjQueryのバージョンを判定

jQueryのバージョンは”jQuery.fn.jquery”で取得ができます。

JS

console.log(jQuery.fn.jquery);

以下のように取得したjQueryのバージョンと最小バージョンを比較してあげれば、万が一使用者がサポート外のjQueryバージョンを使用しようとしていた場合に、前もって忠告をすることができます。

JS

const jqVer = jQuery.fn.jquery;
const minVer = "2.0.0";

if(!checkVersion(minVer,jqVer)){
  throw new Error('古いバージョンが使われています'); // ver1.xを使用しているとエラー
}

function checkVersion(oldVer, newVer) {
  const oldParts = oldVer.split('.');
  const newParts = newVer.split('.');
  for (let i = 0; i < newParts.length; i++) {
    const a = parseInt(newParts[i]) || 0 ;
    const b = parseInt(oldParts[i]) || 0 ;
    if (a > b) return true;
    if (a < b) return false;
  }
  return true;
}

Related Posts