포럼
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
iOS11 사파리에서 발생하는 댓글 작성 로그인 안되는 오류 + 해결방법
2018.01.16 03:42
글을 내리려 했으나 혹시 다른분들께 도움이 될까 하여 남겨둡니다.
선행조건>>
jquery.min.js 를 compressed 되지 않은 jquery.js로 교체해주세요.
xe.min.js를 xe.js로 교체해주세요.
교체방법>>
기존의 jquery.min.js를 삭제후 jquery.js를 jquery.min.js로 이름 변경해주세요.
기존의 xe.min.js를 삭제 후 xe.js 를 xe.min.js로 이름 변경해주세요.
이들은 /common/js 에 있습니다.
오류1. a.browser.msie 가 undefined 인 오류
수정방법 : jquery.min.js 에 아래 코드 추가
jQuery.browser = {}; (function () { jQuery.browser.msie = false; jQuery.browser.version = 0; if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) { jQuery.browser.msie = true; jQuery.browser.version = RegExp.$1; } })();
2. 댓글 안달릴때 오류 메세지에 inArray라는 단어가 있으면..
xe.min.js에 존재합니다. _cast 메서드를 아래와 같이 바꿔줍니다.
_cast : function(sender, msg, params) { var i, len; var aMsg = this._messages; msg = msg.toUpperCase(); // BEFORE hooker if (aMsg['BEFORE_'+msg] || this['API_BEFORE_'+msg]) { var bContinue = this._cast(sender, 'BEFORE_'+msg, params); if (!bContinue) return; } // main api function var vRet = [], sFn = 'API_'+msg; if (Array.isArray(aMsg[msg])) { for(i=0; i < aMsg[msg].length; i++) { if(typeof aMsg[msg][i] === "function"&&typeof aMsg[msg][i] !== "undefined "){ vRet.push( aMsg[msg][i](sender, params) ); } } } if (vRet.length < 2) vRet = vRet[0]; // AFTER hooker if (aMsg['AFTER_'+msg] || this['API_AFTER_'+msg]) { this._cast(sender, 'AFTER_'+msg, params); } //alert(msg+"::"+params); if (!/^(?:AFTER|BEFORE)_/.test(msg)) { // top level function return vRet; } else { if(typeof vRet=='undefined'){ return true; }else{ if(vRet.indexOf(false)<0){ return true; }else{ return vRet; } } } }
jquery의 inArray 함수를 쓰니 오류가 나서 js의 indexOf함수로 바꿔줍니다.
3. matchExpr[type].exec is not a function 오류가 있으시면..
jquery.min.js를 엽니다.
xe jquery 기준으로 라인 2300~2310 근처에서 발생합니다.
for(type in Expr.filter){
밑에줄에
if(typeof matchExpr[ type ] !=RegExp){
matchExpr[ type ] = new RegExp(matchExpr[ type ]);
}
위 코드를 추가해서 RegExp type이 아니면 강제로 형(type)
변환을 시켜줍니다.
4. JSON Parse error: Unexpected identifier "function"
대개 jquery.min.js 9069번째 라인에서 발생합니다.
9069번째 라인은 아래와 같습니다.
아래와 같이 코드를 변경하여 json 데이터를 출력해봅니다.
jQuery.parseJSON = function( json ) {
return oldParseJSON.apply( this, arguments );
};
jQuery.parseJSON = function( json ) {
alert(JSON.stringify(json));
return JSON.parse(json);
};
문제의 부분은 따옴표에 둘러쌓이지 않는 function()~~~ 부분입니다.
즉..
"_presence:":function (){for(var a in this)return!1;return!0}
부분 통째로 문제가 발생하는 부분인것입니다.
alert에 찍힌 function()~~ 부분을 띄어쓰기 포함 토씨하나 틀리지 않게 적어두세요.
jQuery.parseJSON = function( json ) {
if(typeof json!="string"){
json = String(json);
}
json = json.replace(',"_presence":function (){for(var a in this)return!1;return!0}','');
return JSON.parse(json);
};
json = json.replace('아까 적어둔 function()부분','');
을..
return 문 바로 앞줄에 적어줍니다.
태그 연관 글
- [2020/09/04] 묻고답하기 존재하지 않는 회원 아이디입니다 *1
- [2020/01/30] 묻고답하기 3차메뉴 표시 방법 이게 맞나요?
- [2019/04/14] 묻고답하기 sql 쿼리 질문
- [2019/04/03] 묻고답하기 회원가입 select 폼 형식 입력값 불러오기 질문
- [2017/03/15] 묻고답하기 휴대폰 전화번호 오류
댓글 2
글쓴이 | 제목 | 최종 글 |
---|---|---|
하늘희 | 멀티미디어 컨텐츠 배포하였습니다. [20] | 2019.04.29 by dldidt**** |
JBird | 무료 레이아웃 [4] | 2019.03.26 by 가츠 |
디스케이션 | 웹 에이전시 디스케이션에서 레이아웃 템플릿 판매 개시했습니다. [2] | 2019.03.25 by 디스케이션 |
이온디 | XE 레이아웃 제작 일주일 코스 | |
okiz | 쿡래빗 퀴즈게임 & 가위바위보 모바일 [16] | 2019.03.12 by 아긔아자 |
우랑탕탕이 | CMS 포럼에서는 | |
이온디 | XE관리자 커스텀 CSS [2] | 2019.01.30 by 일그리고여행 |
treasurej | 자바스크립트 스타트 스터디 모임(용인/수원)입니다.^^ | |
BJ람보 | 영상) XE에 대해서 - XE는 무엇일까요? (영상의 첫시작) [1] | 2018.12.11 by 똑디 |
이온디 | CMS 커뮤니티 | |
엘리시움 | XE 무료 레이아웃 소개합니다. | |
김하은 | 혹시 클라우드 플레어 쓰시는분들.. | |
닥터맨 | 비밀번호 찾기 질문/답변- 기능 문제점 [1] | 2018.10.27 by 이온디 |
제이엔지 | 아이디 유지시키려면 XE사이트에 로그인하세요 [7] | 2018.07.16 by 제이엔지 |
제이엔지 | XE3가 아닌 다른 이름으로 | |
헨델8 | XE 만한게 없는거 같은데... 슬프다는... [4] | 2018.04.24 by 헨델8 |
E2ZONE | [ArrowVM] 웹 호스팅 여기 접속이 않되는데.. [4] | 2018.04.21 by Luatic™ |
monolife | XE 자료실 릴리즈 승인 대기중인데... 얼마나 걸리나요? [1] | 2018.04.20 by sejin7940 |
헨델8 | 뜬금없지만 Python으로 만들어진 CMS 솔루션이 어떤게 있을까요?? [2] | 2018.04.19 by 헨델8 |
fivetourist | 저렴하고 안정적인 서버 소개 |