태그 보관물: javascript

javascript

JS 오류 마 젠토 2 테마로 사용자 정의 jQuery를 추가 해봤

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

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

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

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

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

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



답변

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


답변

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


답변

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

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

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


답변