질문/조언질답게시판

xe에서 라이믹스로 넘어간 사이트에서 recapcha가 작동하지 않을 경우

구글링해도 안나와서 하나씩 점검하다가 발견한 것을 공유하려고 질문하고 답변답니다 ㅡ,ㅡ 

찾아봐도 없길래요, 

다른 분들은 저처럼 시간낭비 하지 않으시기를

 

 

  • profile
    popup_opener
    삭제하시면 정상동작합니다.

    참고로 저거 설치하신 분들은 
    모듈 폴더에 popup  폴더도 함께 삭제해주세용
  • profile
    popup_opener 애드온의 체크만 꺼도 작동되네요~
  • profile
    근데, 팝업오프너를 지우지 않고 함께 사용하는 방법은 없을까요? ㅠㅠ
  • profile
    팝업오프너가 jquery를 자체적으로 불러오는데 그거때문에 충돌나는거 아닐려나요?
    팝업오프너 소스코드 확인해보세요~
  • profile profile
    라이믹스는 코어에서 불러와야할 스크립트 외부자료에서 로딩하면 블럭하는 거로 처리된거로 압니다.
    XE의 경우 그게 안되서 스크립트 순서에 의해 오류가 발생하는 상황으로 변경된 최신코어에서 언급하신 부분이 문제가 됩니다.

    라이믹스는 해당 시점에서 외부에서 불러오는 것들은 블럭해 버리는 소스를 추가해서 서드파티들의 오랜 잘못된 스크립트동봉의 문제를 일으키지 않도록 처리했습니다. 이부분이 무력화 되었다면 라이믹스도 문제가 재발 될 수 있지만 가능성은 낮아 보입니다.
  • profile profile
    오홍 좋군요!
  • profile profile
    감사합니다. ^^
  • profile profile
    감사해요 ^^
  • profile

    팝업 애드온이 http://www.xeschool.com/xe/4580 여기에 있는 자료인가요?

    애드온 파일을 보니 js 최상위에 if(jQuery) jQuery.noConflict(); 와 같이 jquery의 noConflict를 호출하고 있는데요, 타 자료와의 호환성을 위해 noConflict를 유지하고 있는 XE와 달리 라이믹스는 약 4년전 jQuery 이외에는 $를 사용하지 않는다는 이유로 noConflict를 뺐습니다. 따라서 서드파티 자료 등에서 noConflict를 호출시 $로 jquery를 사용할수 없게 되며 오류가 발생할수 있습니다.

     

    애드온 js 파일 여셔서 최상단 noConfilct 호출 빼시고 최하단 })(jQuery);를 })($);로 수정하시면 애드온과 동일 사용이 가능할것으로 보입니다.

  • profile profile
    아이구 시간내 주셔서 귀한 답변 달아주셔서 감사합니다.
    그 링크의 애드온이 맞구요. (질문을 좀 구체적으로 못했네요 ㅠㅠ 죄송)
    코드 수정해보고 댓글 다시 달겠습니다. 관심 감사합니다. ^^
  • profile profile
    혹시 해당내용을 xe 최신버전에도 지우고 사용해도 괜찮을까요?
  • profile profile

    우와 감사합니다.

    많은 분들에게 도움이 되겠네요!

     

    1행 삭제하고

    최하단 코드를

    })(jQuery);를 })($);로 수정하니

    다른 애드온도 정상동작하네요.

     

    필요하신 분이 있을까해서 수정한 파일 첨부합니다. 

    addons/popup_opener/

     

  • profile profile

    네. XE는 이미 코어에서 noConflict를 실행하고 있으므로 삭제 가능합니다.(다만 최하단 jQuery는 $로 수정하시면 안됩니다)


    다른 버전의 jQuery가 불러와지는 상황에 대응하기 위해 추가되었던 코드로 추정됩니다.