XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.
var isMyMobile = false;

var mobileInfo = new Array('Android', 'iPhone', 'iPod', 'BlackBerry', 'Windows CE', 'SAMSUNG', 'LG', 'MOT', 'SonyEricsson');
for (var info in mobileInfo){
if (navigator.userAgent.match(mobileInfo[info]) != null){
isMyMobile = true;
break;
}
}

if(isMyMobile==true)
{
CKEDITOR.editorConfig = function( config ) {
모바일적용
};
}

CKEDITOR.editorConfig = function( config ) {
모바일구분없이 적용
};

 

 

위와 같은 팁을 봤는데요

 

이거 보니까 유저에이전트가 모바일인지 아닌지 구분하는 방법 같은데

 

이거 응용해서 IE/엣지인 경우랑 나머지 다른 브라우저들을 구별할 수 있지 않나요?

 

근데 문외한이라 어떻게 해야 하는지 모르겠습니다. 

 

왜 이걸 해야 하냐면, 일부 ck에디터 플러그인 중에 IE/엣지 브라우저에서만 버그를 일으키는 게 있어서

 

IE/엣지에서는 해당 애드온을 사용안함 처리하고, 다른 브라우저에서만 사용할 수 있도록 하고 싶네요.

 

아시는 분 답변좀 부탁드립니다.

  • profile
    기진곰 2017.02.16 21:13:18

    if (navigator.userAgent.match(/MSIE|Trident|Edge/)) {

        // IE 또는 엣지

    } else {

        // 기타 브라우저

    }

     

    참고로 요즘은 모바일 구분도 저렇게 제조사 리스트 만들어 가며 처리할 필요가 없어졌어요.

    Android, iPhone, iPad, 그리고 그 밖에는 모두 Mobile이라는 단어 하나로 파악이 가능하니까요.

  • ?
    기븐 2017.02.16 21:19:54
    위에 var 어쩌고는 필요 없는거 맞나요?
  • profile
    기진곰 2017.02.16 21:23:07

    isMyMobile이라는 변수로 받고 싶으면 해당 변수를 선언하셔야 하고요...

    mobileInfo 변수는 필요없습니다. for 루프도 필요없고요.
    IE와 엣지를 구별하는 것뿐이라면 목록이 길지 않아서 조건문 안에 그대로 넣어버렸어요.
    불필요한 루프를 돌리지 않기 때문에 성능도 이쪽이 나아요.

  • ?
    기븐 2017.02.16 21:26:08
    네. 모바일을 굳이 나눌 필요는 없고 IE/엣지냐 아니냐만 나누는거라.. 알겠습니다.
  • ?
    기븐 2017.02.16 21:46:20

    감사합니다. 실험해봤는데 잘되네요.

    근데 가끔가다 로딩이 느리게 될 경우 config.removePlugins 에 넣어놓은 게 제대로 안 불러와지는 경우는 있네요. 이건 뭐 어쩔 수가 없을듯.. 당연하지만 새로고침하면 되네요

     

    if (navigator.userAgent.match(/MSIE|Trident|Edge/)) {
        // IE 또는 엣지
    CKEDITOR.editorConfig = function( config ) {
    config.removePlugins = 'autogrow';
    };
    } else {
        // 기타 브라우저
    CKEDITOR.editorConfig = function( config ) {
    config.removePlugins = 'resize';
    config.autoGrow_minHeight = 100;
    config.autoGrow_maxHeight = 900;
    config.autoGrow_onStartup = true;
    };
    }

     

  • profile
    데히히이이 2017.03.03 00:37:58
    config.removePlugins 안불러와지는 경우가 잦은 편인가요?

    그런게 아니라면 autogrow를 적용해보려구요!
  • ?
    기븐 2017.03.03 00:51:08
    거의 없습니다. 아마 인터넷 연결이 끊기거나 하면 js 파일을 로딩 못해서 그런 일이 발생하는거 같네요.
  • profile
    데히히이이 2017.03.19 02:45:48
    오호! 그렇군요 저도 꼭 적용해봐야할 것같아요 답변 감사합니다!!
  • profile
    데히히이이 2017.04.03 03:04:12
    이 코드를 config.js 파일의 최상단부나 최하단 부에 넣으면 될까요?

    아니면 if 문에 맞춰서
    CKEDITOR.editorConfig = function( config )
    안쪽 부분을 채워 넣어야하나요?

    그리고 기븐님 사이트를 참고하다가 봤는데

    기븐님 처럼 크기조절 하는 작은 삼각형 부분도 제거하고 싶은데 이 부분도 궁금해요!

    또 pc와 모바일의 에디터 사이즈를 다르게 설정하는 방법도 궁금합니다.
    https://www.xetown.com/alley/176877 이글을 참고하면 될까요?
  • ?
    기븐 2017.04.03 12:07:15
    당연히 펑션 구문 안쪽에 넣어야 합니다. 그리고 나머지는 다 여기에 올려놨으니 찾아보세요
  • profile
    데히히이이 2017.04.03 14:03:36
    크으 감사합니다! 더욱연구해봐야겠네요 감사합니다♡

위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...