묻고답하기

[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 남기남
www**** 회원관리페이지에 대하여 ? file  
ImpactCC 6개의 칸으로 만들어진 div 만드는것좀 도와주세요..^^;; [5] file 2015.07.18 by iuloveiu
더블엠씨 스케치북 게시판(웹진형 카드디자인)의 목록의 글자를 키우고 싶습니다. 5시간째 방황중입니다 .ㅜㅜ [9] file 2015.07.31 by 더블엠씨
소나기.. 관리자계정이 댓글30개넘는글은 불러오기가 안됩니다. [2] file 2015.08.01 by 퍼니엑스이
thdwjdtjr 포토샵 초보라 부탁드리고자 합니다 [2] file 2015.08.08 by thdwjdtjr
bb 드롭다운 메뉴바 길이...ㅠㅠㅠ [2] 2015.08.17 by DoorWeb
Ystory 서브메뉴 세로에서 가로로 이동 하는 방법. file  
울프s 게시판 첨부파일 미리보기 크기조절어떻게 해요?  
열혈개발 게시판 스킨 html 수정중에 중괄호 문제..  
열혈개발 스킨 페이지 수정하고있는데 중괄호 문제..  
밥탱이 실시간 새글 알림 애드온 사용하고 있는데 소리 넣으려면 어떻게 해야 하나요??  
오정인 게시판이름을 지정해주셔야합니다. 메시지~~  
오뎅궁물 코어 1.8.3에서 변경된 CSS가 있나요? [5] 2015.11.18 by 오뎅궁물
thdwjdtjr 메뉴바를 길게하고자 합니다 [1] file 2015.11.25 by DoorWeb
마법사 게시글 제목에 &amp #39 이렇게 붙습니다 [1] 2016.01.01 by DoorWeb
린Plus 생 초보입니다....... 도와주세요 유챗 채팅방넣기.. file  
세상의모든계산기 ckeditor style.js 에 div 관련 border-radius 를 적용하면 문제가 생깁니다. [4] file 2016.01.29 by 세상의모든계산기
자스민 FLV 동영상 본문삽입문제 동움부탁드립니다 file  
Hi_Roy Edge 브라우저에서 제 게시판 툴바 중에 특수문자랑 미디어 삽입이 동작하지 않는데 해결방법을 모르겠네요. [1] 2016.03.21 by 퍼니엑스이
BM 파일첨부에러 [1] file 2016.03.23 by 퍼니엑스이