묻고답하기

[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 남기남
꾸링 단어 하이퍼링크시 링크가 안되는 현상 [4] file 2016.03.22 by 꾸링
캉시 XE 직접 쿼리시( INSERT ) 쿼리 결과값 받는법 아시는분! [2] 2016.03.22 by 캉시
최황삼 XE 1.8.18에서는 <pre>태그 속성 사용불가, <video>태그와 <audio>태그 사용 불가 [10] 2016.03.22 by 최황삼
孤松 XE 공식자료실  
sunshine 클릭하면 '실행파일'이 바로 '실행, 저장, 취소' 나오게 하는 방법 [7] 2016.03.22 by 문크
시공 서버의 html코드 즉석에서 수정하는 방법? [1] 2016.03.22 by YJSoft
시공 $layoutinfo가 무엇인가요? [4] 2016.03.22 by 시공
touhouTUNA DB 테이블과 참조 관계 질문입니다. [1] 2016.03.22 by iswonlive
헬시보이 최근게시물 문의 드립니다. 도와주세용 [1] file 2016.03.22 by iswonlive
몽크 이런 오류가 왜 며칠전에 갑자기...ㅠ [1] file 2016.03.22 by iswonlive
시공 본문페이지를 이미지로 꽉채우고 싶습니다. [1] file 2016.03.22 by 휘즈
최윤한 스케치북5 웹진 리스트 마우스오버하면 검은 박스 생기는데 바꿀수 없을까요?  
say_oow 질문있습니다! XE 연동 채팅방 쓰기 좋은 것이 있나요 ? [1] 2016.03.21 by 라디오스테이션
풀카운트 모바일 최적화 문의드립니다.(꾸벅..) [1] file 2016.03.21 by 풀카운트
닉넴뭘로하지 갤러리 게시판에서 사진이 잘려 나옵니다. [2] file 2016.03.21 by 닉넴뭘로하지
쿠핫 content 위젯 에서 댓글수 표시방법 변경 file  
노풀디케 gzip rss만 해제 하는 방법은 없나요?  
박용하 구글링해도 안되어 문의드립니다.url 문제입니다.  
호프 네이버에 홈피설명문구가 깨져 나옵니다 [2] file 2016.03.21 by 호프
greenCode 위젯스타일 더보기url 을 새창으로 하려면?  
화살 게시판에 사진 올리는 방법이 궁금합니다 [2] file 2016.03.21 by sejin7940
불꽃남자cc4e1 자체 네임서버 운영 시 웹호스팅 [2] file 2016.03.21 by 불꽃남자cc4e1
lamb91 신규 서버호스팅 apm 버전 [4] 2016.03.21 by lamb91
수첩공주 socialXE를 통한 SNS 로그인 구축  
Hi_Roy Edge 브라우저에서 제 게시판 툴바 중에 특수문자랑 미디어 삽입이 동작하지 않는데 해결방법을 모르겠네요. [1] 2016.03.21 by 퍼니엑스이
하늘처럼123 제로보드4 쓰고 있는데 비회원한테 코멘트입력창 안보이게요.  
토끼광 Ubuntu 에서 XE 설치할 때 질문드립니다!!  
캉시 직접 쿼리 쓰는데 질문있습니다! [2] 2016.03.20 by 캉시
quri12 [초보]XE설치 중 404 오류관련 문의드립니다ㅠㅠ file  
kare**** 게시판 관리 리스트 오류 문의 [5] file 2016.03.20 by 퍼니엑스이