programing

jQuery $.cookie는 함수가 아닙니다.

starjava 2023. 9. 24. 12:17
반응형

jQuery $.cookie는 함수가 아닙니다.

jQuery를 사용하여 쿠키를 설정하려고 합니다.

$.cookie("testCookie", "hello");
alert($.cookie("testCookie"));

그러나 페이지를 로드하면 "$cookie is not function"이라는 오류가 나타납니다.제가 아는 것은 다음과 같습니다.

  • 여기 jQuery cookie plugin을 다운받았습니다.
  • 저는 jQuery와 쿠키 플러그인을 연결하고 있습니다.
  • jQuery와 jQuery.cookie 모두 200개의 OK로 올바르게 로딩되고 있습니다.

대부분의 사람들이 cookie.js 파일의 이름을 바꾸자고 제안한 다른 답변들을 살펴봤습니다.쿠키 파일 이름을 "jquery.cookee.js"로 변경했지만 결과는 동일합니다.

여기서 무슨 일이 일어나고 있는지에 대한 의견이 있습니까?

도움이 된다면 MVC 4에서 웹 애플리케이션을 만들고 있습니다.

다음은 제가 발견한 모든 가능한 문제/해결 방법입니다.

1. 쿠키 플러그인 다운로드

$.cookie표준 jQuery 함수가 아니므로 플러그인을 여기서 다운로드해야 합니다.해당되는 부품을 반드시 포함시키십시오.<script>필요한 곳에 태그를 부착합니다(다음 참조).

2. 쿠키 플러그인 앞에 jQuery 포함

쿠키 스크립트를 포함할 때는 jQuery FIRST를 포함한 다음 쿠키 플러그인을 포함해야 합니다.

<script src="~/Scripts/jquery-2.0.3.js" type="text/javascript"></script>
<script src="~/Scripts/jquery_cookie.js" type="text/javascript"></script>

3. jQuery를 두 번 이상 포함하지 않음

이것이 제 문제였습니다.jQuery를 두 번 이상 포함하지 않도록 하십시오.그렇다면 다음을 수행할 수 있습니다.

  1. jQuery가 올바르게 로드됩니다.
  2. 쿠키 플러그인이 올바르게 로드됩니다.
  3. jQuery의 두 번째 포함은 첫 번째를 덮어쓰고 쿠키 플러그인을 파괴합니다.

ASP를 사용하는 모든 사람에게.Net MVC 프로젝트, 기본 자바스크립트 번들 포함 주의jQuery에 대한 두 번째 내용은 라인 아래의 글로벌 레이아웃 페이지 중 하나에 포함되었습니다.@Scripts.Render("~/bundles/jquery").

4. 플러그인 파일 이름을 ".cookie"를 포함하지 않도록 변경합니다.

드물게 파일 이름을 ".cookie"를 포함하지 않는 것으로 변경하면 웹 서버 문제로 인해 이 오류가 해결된 것으로 보입니다.기본적으로 다운로드된 스크립트의 제목은 "jquery.cookie.js"이지만 위와 같이 "jquery_cookie.js"로 이름을 변경해 보십시오.이 문제에 대한 자세한 내용은 여기 있습니다.

jQuery Cookie의 이전 버전이 더 이상 사용되지 않으므로 오류가 발생하는 경우:

$.cookie is not a function

당신은 새로운 버전으로 업그레이드 해야 합니다.

새로운 버전의 API 또한 사용하기 보다는 다릅니다.

$.cookie("yourCookieName");

당신은 사용해야 합니다.

Cookies.get("yourCookieName");

이 쿠키 플러그인을 jquery에 추가합니다.

<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를 해당 함수를 사용하는 곳에 추가합니다.

이 합니다가 됩니다.jquery.cookie.js 그 하고 이제 그 은 js나 jQuery다를 할 수 .

저도 이런 문제가 있었습니다.나는 $(문서)가 있다는 것을 알았습니다.$.cookie를 본문 내부의 스크립트 태그에 포함시키는 ready 기능과 의도한 대로 jquery 아래의 헤드에 cookie js를 로드하면 $(문서)가 생성됩니다.쿠키 플러그인이 로드를 완료하기 전에 처리 중입니다.

$(문서) 이전에 cookie plugin load script를 body로 옮겼습니다.스크립트를 준비하고 오류가 사라졌습니다 :D

해결 jQuery $.cookie는 이 문제를 해결하는데 이 문제 jquery cdn 업데이트가 없습니다.

 <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>

언급URL : https://stackoverflow.com/questions/18024539/jquery-cookie-is-not-a-function

반응형