조회 : 112
<html>
<head>
<script language="javascript">
var htmlBegin = '<html>' + "\n"
+ '<head>' + "\n"
+ '<title>Editor</title>' + "\n"
+ '<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />' + "\n"
+ '<style type="text/css">' + "\n"
+ 'body { padding: 0px; margin: 5px; }' + "\n"
+ 'body, tr, th, td { font-size: 9pt; font-family: Tahoma,굴림; }' + "\n"
+ 'p { margin-top: 0px; margin-bottom: 0px; font-size:9pt; }' + "\n"
+ '</style>' + "\n"
+ '<body bgcolor="#FFFFFF">';
var htmlEnd = '</body>' + "\n"
+ '</html>' + "\n";
var obj = '';
var doc = '';
function test ()
{
obj = document.getElementById('editor');
doc = obj.contentWindow.document;
doc.open();
doc.write(htmlBegin);
doc.write('cccccccccc');
doc.write(htmlEnd);
doc.close();
doc.designMode = 'on';
}
function link ()
{
var zoneArr = [];
zoneArr['bodyObj' ] = document.body;
zoneArr['linkDiv1' ] = document.createElement('div');
zoneArr['linkDiv2' ] = document.createElement('div');
zoneArr['linkDiv3' ] = document.createElement('div');
zoneArr['linkDiv4' ] = document.createElement('div');
zoneArr['linkDiv5' ] = document.createElement('div');
zoneArr['linkDiv6' ] = document.createElement('div');
zoneArr['linkSpan1' ] = document.createElement('span');
zoneArr['linkInput1'] = document.createElement('input');
zoneArr['linkInput2'] = document.createElement('input');
zoneArr['linkDiv1' ].setAttribute('id', 'linkDiv');
zoneArr['linkDiv1' ].style.cssText = 'position: absolute; border: 2px solid #C5C5C5; background: #FBFBFB;';
zoneArr['linkDiv2' ].style.cssText = 'padding-top: 8px; padding-bottom: 5px; padding-left: 5px; padding-right:5px;';
zoneArr['linkDiv3' ].style.cssText = 'padding: 3px; margin-top: 3px; border:1px solid #E5E5E5; background: #FFFFFF;';
zoneArr['linkDiv4' ].style.cssText = 'padding: 3px; border:2px solid #FFFFFF; width: 97%; height: 40px;';
zoneArr['linkDiv5' ].style.cssText = 'width: 100%;';
zoneArr['linkDiv6' ].style.cssText = 'padding-top: 5px; width: 100%;';
zoneArr['linkSpan1' ].style.cssText = 'margin-right: 10px; font-size: 12px; color: #757575;';
zoneArr['linkInput1'].style.cssText = 'font-size: 12px; border: 1px solid #B5B5B5; width: 250px; height: 15px';
zoneArr['linkInput2'].style.cssText = 'cursor: pointer; border:1px solid #b5b5b5; width: 50px; background: #FBFBFB; color:#757575; font-weight: bold; text-align: center;';
zoneArr['linkDiv1' ].style.width = '300px';
zoneArr['linkDiv1' ].style.height = '100px';
zoneArr['linkDiv1' ].style.zIndex = '150';
zoneArr['linkDiv1' ].style.top = '100px';
zoneArr['linkDiv1' ].style.left = '200px';
zoneArr['linkSpan1' ].innerText = '선택된 부분에 삽입될 URL을 입력해주세요.';
zoneArr['linkInput1'].setAttribute('id', 'selectLink');
zoneArr['linkInput1'].setAttribute('type', 'text');
zoneArr['linkInput1'].setAttribute('value', 'http://');
zoneArr['linkInput2'].setAttribute('type', 'button');
zoneArr['linkInput2'].setAttribute('value', '확인');
zoneArr['linkInput2'].attachEvent("onclick", getLinkInput);
zoneArr['bodyObj' ].appendChild(zoneArr['linkDiv1' ]);
zoneArr['linkDiv1' ].appendChild(zoneArr['linkDiv2' ]);
zoneArr['linkDiv2' ].appendChild(zoneArr['linkSpan1' ]);
zoneArr['linkDiv2' ].appendChild(zoneArr['linkDiv3' ]);
zoneArr['linkDiv3' ].appendChild(zoneArr['linkDiv4' ]);
zoneArr['linkDiv4' ].appendChild(zoneArr['linkDiv5' ]);
zoneArr['linkDiv5' ].appendChild(zoneArr['linkInput1' ]);
zoneArr['linkDiv4' ].appendChild(zoneArr['linkDiv6' ]);
zoneArr['linkDiv6' ].appendChild(zoneArr['linkInput2' ]);
}
function getLinkInput ()
{
var ifrmObj = frames['editor'];
var focuss = obj.contentWindow.document.selection.createRange();
focuss.select();
var temp = ifrmObj.document.selection.createRange();
alert(temp.text);
}
window.onload = test;
</script>
</head>
<body style="margin: 0px;">
<a href="javascript: link()">링크</a>
<iframe id="editor" frameborder="no" scrolling="auto" style="border: 1px solid blue; width: 100%; height: 300px;">
</body>
</html>
링크를 클릭하여 셀렉트된 텍스트를 구할려고 합니다.
하지만. 이상하게도 인풋박스를 클릭하면 포커스를 일어버리고
셀렉트된 텍스트도 구할 수 없습니다.
사파리나, 파폭에서는 잘되는데 유독 IE7에서 안됩니다.
답변 기다리겠습니다.
감사합니다.