묻고답하기

[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 남기남
페라아빠 1.4.5 버젼에서 SSL 로그인은 문제가 있는 건가요? [1] 2012.08.15 by 카이닉스
유형익 도와 주세요...ㅠㅠ file  
유형익 좀 도와주세요...ㅠㅠ [1] 2012.08.21 by jjjnnn
해오진 한국어/영어에 따라 페이지(article) 내용이 다름 [3] file 2012.08.29 by 해오진
쥬시쿨 1.4 ->1.7 바로 업글 괜찮을까요 ? [4] 2014.01.08 by ㉿반딧불
쥬시쿨 PHP 버젼 업글후 섬네일 안보이는문제.. [1] 2014.01.08 by Kimㅇ.ㅅ
비케이1214 XE 1.4.5.7, <head> 수정은 어떻게 하나요? [2] 2014.04.07 by 비케이1214
Luatic™ 1.7.3.6 -> 1.7.4.1 로 업데이트 후 문제 [2] 2014.04.26 by Luatic™
こさき! 1.7.4.2 문의드립니다. [1] 2014.05.11 by 키스투엑스이
모해 권한이 없을때 권한이 없다는 페이지가 뜨지않고 오류가뜹니다.  
nado0124 1.7.4 부터 트랙백 엮인글 차단 애드온이 필요없다고 되어 있던데... [2] 2014.05.23 by nado0124
flower975 php 버전 [2] 2014.05.23 by flower975
행복끝고생시작l 코어 1.7.5 업그레이드후 [2] 2014.05.23 by kingcaone
난나야9 모듈업데이트 안됩니다 1.5에서 1.7로 업데이트후 안됨 file  
prologos 코어 1.7.5.3에서 자료실 모듈 정상 동작 하나요?  
DaKi 조회수 방문자수 등의 오류  
DJinside member 모듈 업데이트 오류, 설정 변경 오류 도와주세요 ㅠㅠㅠㅠ file  
티코GT 문서 모드가 쿼크로 나오는데 왜 그런건가요?  
티코GT 제이쿼리 소스를 적용하는데 익스플로러에서 문제가 발생하네요^^; [10] file 2015.04.01 by 돼지코구뇽
kjmedi626 소스수정 보려고하는데요 [4] 2015.04.01 by kjmedi626