bootstrap's javascript requires jquery version 1.9.1
と
検索される
何が
どこで エラーが 出力されているのか ?
bootstrap 3 の、bootstrap.js
または、bootstrap..min.js
で
bootstrap 3 の
version 3.3.5
、version 3.3.6
、version 3.3.7
で
version 3.3.5
'Bootstrap's JavaScript requires jQuery version 1.9.1 or higher'
と出力されます。 /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under the MIT license */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') } }(jQuery);
version 3.3.6
'Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3'
と出力されます。 3.3.5 の 時は なかった , but lower than version 3
が付与されています。
Bootstrap 3.3.6 and JQuery 3.1.0 not compatible? - Stack Overflow
に記載が ありますが、 3.3.6 は jquery の 3 とは 互換性は ないようで、
1.9.1
から、2.2.4
[2017/07/17時点の最新]であれば 動くと いう 意味のようです。
ちなみに、この Blog で 使っている Bootstrap の version は 3.3.6
のようで、
このエラーメッセージが 出力されていました。 /*! * Bootstrap v3.3.6 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under the MIT license */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3') } }(jQuery);
version 3.3.7
'Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4'
と出力されます。 3.3.6 では サポートできていなかっった jquery 3 への サポートが 追加されています。
Bootstrap 3.3.7 がリリース:jQuery 3 の サポートなど 追加 | UX MILK /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-2016 Twitter, Inc. * Licensed under the MIT license */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4') } }(jQuery);
version 3.2.0
ちなみに、version の チェックが 入るようになったのは、 3.3.0
からのようで、
3.2.0
では、version の チェックは なく、 jquery の 必須チェックのみを 行なっています。 /*! * Bootstrap v3.2.0 (http://getbootstrap.com) * Copyright 2011-2014 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') }
どのような 状況で この エラーが 出力されるのか ?
下記、
この3.
の
もともと、
css framework を 使っていなかった サイトで、 途中から、 Bootstrap 3 を 導入した。 もともと、
Bootstrap 2 を 使っていて、 途中から、 Bootstrap 3 を 導入した。 1
bootstrap 2.3.2 のjavascript を 見る 限り、 jquery の チェックは 行なっていないようです。 もともと、
Bootstrap 3.2 系以下、を 使っていて、 Bootstrap3.3 以上に 更新を 行なった。 2
bootstrap 3.2.0 のjavascript を 見る 限り、 jquery の 必須チェックのみ 行なっているようです。
サイト上で、 効いている jquery の version 情報を 調べる
現在利用している
Chrome などで、$.fn.jquery
を
jquery の
この1.9.1
よりも
対処方法
対処方法と
サイトの
JQuery の バージョンを Bootstrap の 互換バージョンまで、 バージョンアップする。
これが正攻法な 気が します。ただ サイトの 規模に よっては この 方法が とれない ことの あるのではと 思います。 jQuery.noConflict を
使って 回避する
読み込み時に 工夫は 必要だと 思いますが、
Bootstrap 内では、$関数に 直接アクセスが ないようなので、 この 方法も とれそうです。
以上です。
コメント