私はjQueryを使用してCookieを設定しようとしています:
$.cookie("testCookie", "hello");
alert($.cookie("testCookie"));
しかし、ページをロードすると、「$。cookieは機能ではありません」というエラーが表示されます。私が知っていることは次のとおりです。
他のいくつかの回答( here および here など)を見てきましたが、ほとんどの人はcookie.jsファイルの名前を変更することを提案しました。 cookieファイルの名前を「jquery.cookeee.js」に変更しましたが、結果は同じです。
ここで何が起こっているかについてのアイデアはありますか?
役立つ場合は、MVC 4でWebアプリケーションを作成しています。
$.cookie is not a function
の問題に誰かがつまずいた場合、私が遭遇した可能性のあるすべての問題/解決策を以下に示します。
$.cookie
は標準のjQuery関数ではないため、プラグインをダウンロードする必要があります here 。必要に応じて、適切な<script>
タグを含めるようにしてください(次を参照)。つまり、あなたの頭には次のものが含まれます:
<script src="~/Scripts/jquery-2.0.3.js" type="text/javascript"></script>
その後
<script src="~/Scripts/jquery_cookie.js" type="text/javascript"></script>
ASP.Net MVCプロジェクトを使用している場合は、デフォルトのjavascriptバンドルが含まれていることに注意してください。見つけるのが難しい場合があります。 jQueryの2番目のインクルードは、@Scripts.Render("~/bundles/jquery")
行の下のグローバルレイアウトページの1つにありました。個人的には、バンドルをレンダリングせず、必要に応じてjavascriptにリンクすることを好みます。
乾杯と Kevin B に感謝します。
jqueryにこのCookieプラグインを追加します。
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
ページのフッターではなくヘッダーにスクリプトが含まれていることを確認してください。特にWordPressでは、これは機能しませんでした:
wp_register_script('cookie', get_template_directory_uri() . '/js/jquery.cookie.js', array(), false, true);
最後のパラメーターは、フッターにスクリプトを含めることを示し、false(デフォルト)に変更する必要があります。仕組み:
wp_register_script('cookie', get_template_directory_uri() . '/js/jquery.cookie.js');
最初にjquery.cookie.js
を追加してから、その関数を使用しているjsまたはjQueryを追加する必要があります。
ブラウザが最初にWebページをロードすると、このjquery.cookie.js
がロードされ、その後jsまたはjQueryがロードされ、その関数が使用可能になります
JQuery $ .cookieがこの問題を解決する関数ではないことを解決する
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js" integrity="sha256-T0Vest3yCU7pafRw9r+settMBX6JkKN06dqBnpQ8d30=" crossorigin="anonymous"></script>
私もこの問題を抱えていました。本体内のスクリプトタグに$ .cookieを含む$(document).ready関数を使用し、意図したとおりにjqueryの下にcookie jsをロードすると、$(document).ready beeingがcookieの前に処理されることがわかりましたプラグインはロードを終了できます。
$(document).readyスクリプトとエラーが消える前に、本体のcookieプラグインロードスクリプトを移動しました:D