JS 오류 마 젠토 2


11

나는 주말 내내 무언가를 끝내고 온라인으로 게시하려고 노력하고 있는데, 그것이 얼마나 깨졌으며 왜 누군가 나를 도울 수 있기를 바랍니다.

나는 함께 내 사용자 지정 테마로 사용자 정의 jQuery를 추가 해봤 성공 jQuery를가로드로하고, 기능이 작동했다. 하나! 제대로 작동하지 않았습니다. 예를 들어 Safari는 jQuery를로드하지 않고 콘솔에서 다음과 같은 오류가 계속 발생합니다.

defaultCaptcha.js : 29 Uncaught TypeError : undefined authentication-popup.js의 'captcha'속성을 읽을 수 없습니다 : 26 Uncaught TypeError : undefined (익명 함수)의 'autocomplete'속성을 읽을 수 없습니다

나는 jQuery를 선언 한 방식과 관련이 있다고 생각했지만, 그렇지 않은 경우 모든 사용자 정의 JS를 제거하기로 결정했지만 여전히 이러한 오류가 발생했습니다. 내가 생각하기에 뭔가 더 부서져있는 것 같습니다.

내 맞춤 '테마'는 맞춤 가입 상자 만있는 간단한 방문 페이지입니다.

이 오류의 원인은 무엇입니까 ??


3
향후 Google 직원의 경우이 문제는 알려진 문제이며 GitHub github.com/magento/magento2/issues/8532
— tim.baker

답변:


15

authentication-popup.js 파일의 고객 모듈에서 교체하십시오.

autocomplete: window.checkout.autocomplete

와:

autocomplete: ((window.checkout && window.checkout.autocomplete) ? window.checkout.autocomplete : null),

업데이트 된 실행

PHP bin / magento 설정 : 정적 내용 : 배포


최신 정보

최신 버전에서는이 문제가 해결 될 수 있습니다 : https://github.com/magento/magento2/blob/2.3-develop/app/code/Magento/Customer/view/frontend/web/js/view/authentication-popup.js # L23

autocomplete: window.checkout.autocomplete,

다음으로 대체되었습니다.

autocomplete: window.authenticationPopup.autocomplete,

이 업데이트는 유익한 정보이며 최신 Magento 2 버전에는 다른 변경 사항이 포함되어 있으므로 완벽한 솔루션을 제공하지 않습니다.

여기에 변경된 커밋이 있습니다 : https://github.com/magento/magento2/commit/362f62f3c9b6c2994070615d82efbdf19f15fe50


우리는이 솔루션을 시도했지만 setup : upgrade, di : compile, static-content : deploy, cache : clean 및 cache : flush 명령을 실행 한 후에도 여전히 오류가 표시됩니다. 다른 제안?
— codestr

사라져야합니다. authentication-popup.js 파일 (브라우저 캐시 문제)에서 브라우저에 변경 사항이 있는지 확인하십시오. 또한이 파일을 확장자의 다른 파일로 덮어 쓰지 않았는지, 지정된 JS 파일 또는 다른 파일에서 오류가 발생하는지 더 정확하게 확인하십시오.
— 모호

스택 추적은 authentication-popup.js 파일을 다시 가리키며 찾을 수있는 확장 / 모듈을 덮어 쓰지 않습니다. 또한 캐시 문제일지도 모른다고 생각했지만 거기에는 운이 없었습니다. 아마 내가 간과하고있는 단순한 것일지도 모른다. 나는 결국 그것을 알아낼 것이다.
— codestr

이 솔루션을 시도했지만 오류가 사라졌지 만 일반적으로 패치하는 방법을 모르겠습니다. 다음 magento 버전이 업데이트 될 때까지 벤더에 할 일 (댓글 주석 포함)을 남겨 두어야합니까? 누구든지 권장 사항이 있습니까?
— medmek

1
@medmek 코어 파일에 대한 수정으로 git / diff 패치를 만들 수 있습니다. Magento enterprise는 여기에서 사용합니다 : devdocs.magento.com/guides/v2.2/cloud/project/…
— 불분명

1

코어에서 파일을 대체 한 후 효과를 보려면 정적 파일 캐시를 정리해야합니다 (모든 캐시가 기본 모드에 대해 비활성화되어 있어도). pub / static / frontend 파일은 생성 된 파일이므로 편집하지 마십시오.


0

자동 완성에 대한 참조로 인해 오류가 발생하는 것으로 보이며 보안 문자가 있어야 할 때 존재하지 않습니다. 불분명 한 작업을 수행하면 자동 완성에 대한 오류가 제거됩니다. ... / pub / static / frontend / Magento / luma / en_US / Magento_Captcha / js / view / checkout / defaultCaptcha.js에서 기본 보안 문자 파일을 편집해야했습니다.

참조하려는 구성이 존재하지 않으면 null을 반환합니다. 그러나 이는 오류 만 제거하지만 결제 페이지는 여전히 비어 있습니다.

테마가 제대로 다시 떨어지지 않을 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.