다양한 형태의 문서작성과 워드수준의 표 작성기능 및 오피스 제품을 포함한 모든 HTML 문서호환성 및 다국어를 지원함으로서 보다 향상된 업무시스템 개발이 가능하도록 해주는 컴포넌트형의 웹에디터 입니다.

DEXTWebChart

Home > 제품소개 > DEXTWebEditor > 코드샘플

  • 개요
  • 주요기능
  • 데모보기
  • 코드샘플

코드샘플

제품과 관련된 샘플소스들은 지속적으로 추가, 업데이트되어 아래 사이트에 게시됩니다.
DEVPIA DEXT제품군 포럼마을(http://www.devpia.com/DEXT.MAEUL) "강좌&팁" 또는 "자료실"

제품 설치하기

1. 구매시 제공한 DextWebEditor.cab 을 사용하는 Application Server 의 특정 폴더에 복사를 합니다.

2. 브라우저로 접속하여 Active-x 를 다운받고자 하는 페이지에 아래와 같이 추가를 합니다.

<objectid="DEXTWebEditor"classid="CLSID:53A281F1-37FD-4d81-91C8-DBE12C73E58E"<br>codebase='http://server_URL/DEXTWebEditor.Cab#version=2,0,2007,528' border="0" width="0" height="0" >
<param name="AuthKey" value="정품키값">
</object>

3. 브라우저로 해당 페이지에 접속을 하면 Active-x Control 이 자동설치가 됩니다.

게시판 작성창에 에디터 연동하기

1. 작성창 : Write.aspx, Write.js 로 구성되어 있습니다.

2. Write.aspx 에서 에디터 영역을 iframe 을 설정 예

<tr><br><td><br><iframeid="ifmWebEditor"src="../Common/WebEditor.aspx"codebase='http://server_URL
/DEXTWebEditor.Cab#version=2,0,2007,528' style="width:100%;height:100%" frameborder="0" scrolling= "no"></iframe>
</td>
</tr>

3. Write.js 작성 예

function fnPageOnLoad(){
dxWebEditInit();
}

function fnWriteOnClick() {
if (document.all.txtSubject.value == "") {
alert("제목을 입력하세요...");
document.all.txtSubject.focus();
return;
}
alert(gDataImagesUrl + " 경로로 본문이미지 업로드를 시작합니다");
dxUploadImage(gDataImagesUrl);

var sBody = dxEditorBody("ALL"); // "ALL" (전체HTML) "" (Body만)
alert("=== 본문내용입니다 ===\n\n" + sBody);

// Body save 로직이 필요합니다
}

4. iframe 에서 사용되는 WebEditor.aspx

[WebEditor.aspx]
< %@ Page Language="C#" AutoEventWireup="true" CodeFile="WebEditor.aspx.cs" Inherits="Common_WebEditor" % >
<html xmlns="http://www.w3.org/1999/xhtml" >
<headrunat= "server"><br><title>WebEditor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript">
var oStyleSheet;
var g_Style = "";

function fnInit() {
}

function page_onload() {
fnInit();
if(DextHTMLEditor.IsInitComplete == false )
setTimeout(page_onload, 200);
else {
var PlusDom = DextHTMLEditor.GetHTMLDOM();
PlusDom.charset = "ks_c_5601-1987";
PlusDom.parentWindow.document.body.style.cssText= g_Style;
PlusDom.parentWindow.document.body.style.fontFamily= "Verdana";
PlusDom.parentWindow.document.body.style.fontSize= "10pt";
}
}

function Onresizing() {
revisionEdiotor(true);
}

var iPreX = 0;
var iPreY = 0;

function revisionEdiotor(bResfresh) {
var iCurX = document.body.clientHeight;
var iCurY = document.body.clientWidth;
if ( iCurX != iPreX || iCurY != iPreY || bResfresh) {
DextHTMLEditor.ControlHeight = iCurX;
DextHTMLEditor.ControlWidth = iCurY;
}
iPreX = iCurX;
iPreY = iCurY;
}

function window.onresize() {
revisionEdiotor();
}
</script>
</head>

<body style="margin-left:0; margin-right:0; margin-top:0; margin-bottom:0; background-color:#ffffff" oncontextmenu="return false" onload="javascript:page_onload();">

<form id="form1" runat="server">
<script language="javascript" type="text/javascript">
var CONST_LANGUAGE_ENG = 0;
var CONST_LANGUAGE_CHN = 1;
var CONST_LANGUAGE_KOR = -1;
var gPageCulture = "< %=PageCulture % >";
gEditLanguage = CONST_LANGUAGE_KOR; // 디폴트는 한국어
if ( gPageCulture == "ko-KR") {
gEditLanguage = CONST_LANGUAGE_KOR;
}
else if (gPageCulture == "en-US") {
gEditLanguage = CONST_LANGUAGE_ENG;
}
</script>
</form>

<script language="javascript" type="text/javascript" src="Script/WebEditor.js">
</script>

</body>
</html>

5. iframe 에서 사용되는 WebEditor.js

[WebEditor.js]
document.write('<OBJECTID='DEXTWeb'CLASSID='CLSID:53A281F1-37FD-4d81-91C8-DBE12C73E58E'codebase='http://server_URL/DEXTWebEditor.Cab#version=2,0,2007,528' WIDTH='100%' HEIGHT='100%'>
<PARAM NAME='Locale' VALUE= -1>
<PARAM NAME='ShowToolBar' VALUE=1>
<PARAM NAME='UseMedia' VALUE=1>
<PARAM NAME= 'AuthKey'VALUE='rQ1DVZ8ccC0sCcIP4J6OhoFdO30qYr3J7miH0bgzNVSRIythCfpISKnQkWj4XcxfblqtP4r/
9d76g5L8i+Q='>
</OBJECT>');

6. 파라미터 설명

<PARAM NAME="Locale" : 에디터 로딩시 사용할 언어 지정
-1 : 시스템에서 정의된 언어 (디폴트)
0 : 영어
위의 예제에서는 로그인시 사용하는 언어 변수를 사용한 예제임
지정하지 않으면 디폴트값으로 간주하고 지정된 Locale 에 해당하는 언어리소스파일이 에디터 설치된 경로에 없는 경우도 디폴트값으로 간주합니다.

<PARAM NAME="TabVisibility" : 에디터 로딩시 보여지는 탭 형태
0 또는 0 보다 작은 값 : 디자인 탭만 표시
1 : 디자인과 미리보기 탭 표시
2 이상 : 디자인, 소스편집, 미리보기 탭 표시 (디폴트)
지정하지 않으면 디폴트값으로 간주합니다.

<PARAM NAME="ShowMenuBar" : 메뉴바를 보이거나 감춤
0 또는 0 보다 작은 값 : 메뉴바 감춤
0 보다 큰 값 : 메뉴바 보임 (디폴트)
지정하지 않으면 디폴트값으로 간주합니다.

<PARAM NAME="ShowToolBar" : 도구바를 보이거나 감춤
0 또는 0 보다 작은 값 : 도구바 감춤
0 보다 큰 값 : 도구바 보임 (디폴트)
지정하지 않으면 디폴트값으로 간주합니다.

<PARAM NAME="AuthKey" : 회사별로 부여된 라이센스키입니다.
라이센스키는 한글회사명, 영문회사명, 인증키로 조합이 되어 있으며 정상적인 라이센스키가 입력이 되면 에디터 하단 오른쪽과 도움말 정보에 등록된 회사명이 나타나고 그렇치 않으면 DEMO 버전으로 표시가 됩니다.