xe에서 라이믹스로 넘어간 사이트에서 recapcha가 작동하지 않을 경우
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.0 |
xe에서 라이믹스로 넘어간 사이트에서 recapcha가 작동하지 않을 경우
구글링해도 안나와서 하나씩 점검하다가 발견한 것을 공유하려고 질문하고 답변답니다 ㅡ,ㅡ
찾아봐도 없길래요,
다른 분들은 저처럼 시간낭비 하지 않으시기를

마음의빈자리
Lv. 6
마음에는 꼭 빈자리를 남겨두어야 합니다.
댓글 13
삭제하시면 정상동작합니다.
참고로 저거 설치하신 분들은
모듈 폴더에 popup 폴더도 함께 삭제해주세용
팝업오프너 소스코드 확인해보세요~
XE의 경우 그게 안되서 스크립트 순서에 의해 오류가 발생하는 상황으로 변경된 최신코어에서 언급하신 부분이 문제가 됩니다.
라이믹스는 해당 시점에서 외부에서 불러오는 것들은 블럭해 버리는 소스를 추가해서 서드파티들의 오랜 잘못된 스크립트동봉의 문제를 일으키지 않도록 처리했습니다. 이부분이 무력화 되었다면 라이믹스도 문제가 재발 될 수 있지만 가능성은 낮아 보입니다.
팝업 애드온이 http://www.xeschool.com/xe/4580 여기에 있는 자료인가요?
애드온 파일을 보니 js 최상위에 if(jQuery) jQuery.noConflict(); 와 같이 jquery의 noConflict를 호출하고 있는데요, 타 자료와의 호환성을 위해 noConflict를 유지하고 있는 XE와 달리 라이믹스는 약 4년전 jQuery 이외에는 $를 사용하지 않는다는 이유로 noConflict를 뺐습니다. 따라서 서드파티 자료 등에서 noConflict를 호출시 $로 jquery를 사용할수 없게 되며 오류가 발생할수 있습니다.
애드온 js 파일 여셔서 최상단 noConfilct 호출 빼시고 최하단 })(jQuery);를 })($);로 수정하시면 애드온과 동일 사용이 가능할것으로 보입니다.
그 링크의 애드온이 맞구요. (질문을 좀 구체적으로 못했네요 ㅠㅠ 죄송)
코드 수정해보고 댓글 다시 달겠습니다. 관심 감사합니다. ^^
네. XE는 이미 코어에서 noConflict를 실행하고 있으므로 삭제 가능합니다.(다만 최하단 jQuery는 $로 수정하시면 안됩니다)
다른 버전의 jQuery가 불러와지는 상황에 대응하기 위해 추가되었던 코드로 추정됩니다.
우와 감사합니다.
많은 분들에게 도움이 되겠네요!
1행 삭제하고
최하단 코드를
})(jQuery);를 })($);로 수정하니
다른 애드온도 정상동작하네요.
필요하신 분이 있을까해서 수정한 파일 첨부합니다.
addons/popup_opener/