묻고답하기

[bbs/skin/f2plus_gallery_3_0/swe/ed_toolbar.php]

<td style='padding:0 2 0 2;'><a onClick='javascript:command(this,event);' id='ed_asword' title='특수문자' class='a_style_0'><img src='<?=$dir?>/images/edbtn/ed_asword.gif' border='0' width='18' height='18' id='ed_asword_img' onmouseover='buttonover(this)' onmouseout='buttonout(this)'></a></td>

위 코드에서 특수 문자 삽입 툴바 아이콘을 클릭하면 아래의 edit.js 파일의 command() 함수가 호출되고 거기서 Layer_xy() 함수가 호출되면서 layer.js 파일의 'ed_aswordtable' 특수문자 테이블 레이어가 보이게 되고 레이어 안의 특수문자 하나를 클릭하게 되면 layerClick() 함수가 호출되면서 마지막 소스처럼 execCommand("InsertHTML",false,[objcmd]) 커맨드에 의해 현재 커서의 위치에 해당 특수문자가 삽입이 되는 구조인데 이게 Edge 브라우저에서 동작하지 않아서 해결방법을 찾아보았지만 마땅한 해결책이 구글에서도 보이지를 않습니다. 일단 IE11 소스 부분처럼 해도 안되는 걸 보면 IE11과도 호환이 안되는 것 같던데 이 문제에 대한 해결방법을 찾습니다. 뭔가 Edge 브라우저에서만의 고유한 사용법이 있는 것 같은데 그게 뭔지 모르겠습니다. 동일한 현상으로 보이는 미디어 삽입과 더불어 이 두가지 문제랑 이전 포스트에서 언급했던 미리보기 문제만 해결하면 호환성은 거의 마무리가 되는데 무엇을 어떻게 해결해야 할지 모르겠네요. ㅡ_ㅡ;

[bbs/skin/f2plus_gallery_3_0/swe/edit.js]

case ("ed_asword") :
{
Layer_hidden(ed_asworddiv);
Layer_xy(ed_asworddiv,'ed_aswordtable',0,+10,myEvent);
break;
}

[bbs/skin/f2plus_gallery_3_0/swe/edit.js]

function Layer_xy(obj,objt,lpx,lpy,myEvent)
{
        var scrollLeft = (document.documentElement && document.documentElement.scrollLeft) || document.body.scrollLeft;
        var scrollTop = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;

        obj.style.left = (myEvent.clientX + scrollLeft + lpx) + "px";
        obj.style.top = (myEvent.clientY + scrollTop + lpy) + "px";
        obj.style.visibility = "visible";

        if(objt) {
                start_timeout(document.getElementById(objt));
        }
}

[bbs/skin/f2plus_gallery_3_0/swe/layer.js]

var sw_layers_asword = "<div id='ed_asworddiv' style='position:absolute; visibility:hidden;'>";
sw_layers_asword += "<table id='ed_aswordtable' border='0' cellpadding='0' cellspacing='0' class='sw_bd_style_5' onmousemove='clear_timeout()' onmouseout='start_timeout(this)'><tr><td style='padding:3;'>";
sw_layers_asword += "<table width='210' height='170' border='0' cellpadding='2' cellspacing='0'>";

function ed_aswordF()
{
        var e_list = new String;

        for(var i=0 ; i < 80 ; i++)
        {
                if(!(i % 10)) e_list += "<tr>";
                if (inasw[0][i] == "blank") {
                        e_list += "<td align='center'><font class='sw_ft_style_1'>X</font></td>";
                } else {
                        e_list += "<td align='center' onClick='javascript:layerClick(ed_asworddiv,\""+ inasw[0][i] +"\");' onMouseOver=this.className='sw_MouseOver_0' onMouseOut=this.className='sw_MouseOut_0' style='cusor:pointer;'><font class='sw_ft_style_0'>" + inasw[0][i] + "</font></td>";
                }
                if(i % 10 == 9) e_list += "</tr>";
        }
        return e_list;
}

sw_layers_asword += ed_aswordF();
sw_layers_asword += "</table></td></tr></table></div>";

[bbs/skin/f2plus_gallery_3_0/swe/edit.js]

if(obj.id == "ed_asworddiv")
                {
                        if(typeof document.selection != "Control") {
                                if(re.exec(uAgent) != null)
                                {
                                        //IE11
                                        var eEdit = memoiW.window.getSelection().getRangeAt(0);
                                        eEdit.deleteContents(); 
                                        eEdit.insertNode(eEdit.createContextualFragment(objcmd));
                                } else if(re2.exec(uAgent) != null) {
                                        //IE8
                                        var eEdit = memoiW.document.selection.createRange();
                                        eEdit.pasteHTML([objcmd]);
                                } else if(typeof window.getSelection != "undefined") {        //Chrome & FF
                                        memoiW.document.execCommand("InsertHTML",false,[objcmd]);
                                }
                        } else {        //Chrome & FF
                                memoiW.document.execCommand("InsertHTML",false,[objcmd]);
                        }
                        ed_asworddiv.style.visibility = "hidden";
                }
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
taekim4009 메뉴에 바로가기로 되어 있는 제목을 눌렀을때 반응이 없게 할수 있을까요? [1] 2016.06.21 by DoorWeb
유인규408 admin 페이지 접속오류 [2] file 2016.06.15 by 유인규408
흑사탕 footer 고정 [8] 2016.06.14 by 흑사탕
ha****921ae xe/classes/db/DB.class.php on line 633 에러 문의 file  
피르 XE 새로 설치하는중입니다. [2] 2016.05.04 by 피르
변신쟁이 XE 1.4 버전에서 최신버전으로 업그레이드 중에 계속 문제가 발생합니다. [1] 2016.04.04 by 로이조52
Hi_Roy Edge 브라우저에서 제 게시판 툴바 중에 특수문자랑 미디어 삽입이 동작하지 않는데 해결방법을 모르겠네요. [1] 2016.03.21 by 퍼니엑스이
Hi_Roy 아래 코드가 IE8에선 동작하는데 크롬/파폭/IE11 에선 오동작을 하네요. 무엇이 문제일까요? ㅡ_ㅡ; [1] 2016.02.25 by 기진곰
자스민 FLV 동영상 본문삽입문제 동움부탁드립니다 file  
린Plus 생 초보입니다....... 도와주세요 유챗 채팅방넣기.. file  
deok ie10, 11번전 css문제  
불패의초인 디비를 복구 중에~ 이런 현상이... LOCKTABLES`xe_action_forward`WRITE ; [15] 2015.12.31 by jake
geoever XE 1.8.14에서 글 등록이 안 됩니다. [8] 2015.12.23 by kang154123
오뎅궁물 코어 1.8.3에서 변경된 CSS가 있나요? [5] 2015.11.18 by 오뎅궁물
sage하늘 대메뉴, 서브메뉴. 글자크기 변경 질문합니다! [5] 2015.11.11 by DoorWeb
열혈개발 스킨 페이지 수정하고있는데 중괄호 문제..  
열혈개발 게시판 스킨 html 수정중에 중괄호 문제..  
울프s 게시판 첨부파일 미리보기 크기조절어떻게 해요?  
Ystory 서브메뉴 세로에서 가로로 이동 하는 방법. file  
꼬무다라이 xe 코어 업데이트 쉬운설치 클릭 후 홈피 다운~ [3] 2015.09.11 by treasurej