jquery.cookie.jsで「$.cookie is not a function」エラー
2022/07/21
フロントエンド側でCookieを利用したい場合jquery-cookieを用いることが多いが同プラグインで実装した際、環境によっては「$.cookie is not a function」というエラーが発生し、Cookieの操作が行えないということがあった。以下に対応方法をメモ。
原因?
jquery-cookieは開発が終了しており、そちらが原因かもしれない(jQueryのバージョンが新しいとダメなのかも)。こちらのページが参考になった。
対応方法
jquery-cookieからjs-cookieに変更した。まず公式サイトからJSファイルをダウンロードするか以下CDNでJSファイルを呼び出す。
<script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script>
異なるバージョンを使用したい場合は以下から探す。
https://www.jsdelivr.com/package/npm/js-cookie
次にソースコードを以下の通り書き換える。
//cookie取得 //旧バージョン $.cookie('name'); //新バージョン Cookies.get('name'); //cookie保存 //旧バージョン $.cookie('name', 'value'); //新バージョン Cookies.set('name', 'value'); //cookie削除 //旧バージョン $.removeCookie('name'); //新バージョン Cookies.remove('name');
互換性があるようで新バージョンでも過去記事の時間指定も行えた。
所感
jquery-cookieで実装したシステムは複数あるのでcookie関連でのエラーが出てきた時用に覚えておきたいところ。
関連記事
-
日本地図のクリッカブルマップをjQueryで実装する方法(japan-map)
JavaScriptもしくはjQueryで日本地図を表示し、都道府県や八地方区分 ...
-
アンカーリンクでURLに「#hoge」のようなパラメータを残さずスクロールさせる方法
アンカータグをクリックしてもブラウザのURL欄に「#hoge」のようなハッシュを ...
-
jQuery Alert Dialogsで表示後に処理したい
最近携わったサイトの中でJavaScript内に「jAlert」とかいう記述があ ...
-
ajaxで複数のデータを渡したい
やりたい事はajaxで複数のデータを渡したい。 ■送信側 var data = ...
-
画像をドラッグ&ドロップでアップロード
■2015/04/15追記 以下記事の方が新しくて詳しい。 http://tai ...