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.