diff --git a/modules/editor/components/image_gallery/tpl/popup.js b/modules/editor/components/image_gallery/tpl/popup.js
index 095b72977..2acd50199 100644
--- a/modules/editor/components/image_gallery/tpl/popup.js
+++ b/modules/editor/components/image_gallery/tpl/popup.js
@@ -39,9 +39,9 @@ function getSlideShow() {
// 부모창의 업로드된 파일중 이미지 목록을 모두 가져와서 세팅
var fo = xGetElementById("fo");
- var upload_target_srl = fo.upload_target_srl.value;
+ var editor_sequence = fo.editor_sequence.value;
- var parent_list_obj = opener.xGetElementById("uploaded_file_list_"+upload_target_srl);
+ var parent_list_obj = opener.xGetElementById("uploaded_file_list_"+editor_sequence);
if(parent_list_obj) {
var list_obj = xGetElementById("image_list");
diff --git a/modules/editor/components/image_link/image_link.class.php b/modules/editor/components/image_link/image_link.class.php
index 8a3d2a89f..521bfdab1 100644
--- a/modules/editor/components/image_link/image_link.class.php
+++ b/modules/editor/components/image_link/image_link.class.php
@@ -7,15 +7,15 @@
class image_link extends EditorHandler {
- // upload_target_srl 는 에디터에서 필수로 달고 다녀야 함....
- var $upload_target_srl = 0;
+ // editor_sequence 는 에디터에서 필수로 달고 다녀야 함....
+ var $editor_sequence = 0;
var $component_path = '';
/**
- * @brief upload_target_srl과 컴포넌트의 경로를 받음
+ * @brief editor_sequence과 컴포넌트의 경로를 받음
**/
- function image_link($upload_target_srl, $component_path) {
- $this->upload_target_srl = $upload_target_srl;
+ function image_link($editor_sequence, $component_path) {
+ $this->editor_sequence = $editor_sequence;
$this->component_path = $component_path;
}
diff --git a/modules/editor/components/multimedia_link/multimedia_link.class.php b/modules/editor/components/multimedia_link/multimedia_link.class.php
index e1f0b5ba3..65d345812 100644
--- a/modules/editor/components/multimedia_link/multimedia_link.class.php
+++ b/modules/editor/components/multimedia_link/multimedia_link.class.php
@@ -7,15 +7,15 @@
class multimedia_link extends EditorHandler {
- // upload_target_srl 는 에디터에서 필수로 달고 다녀야 함....
- var $upload_target_srl = 0;
+ // editor_sequence 는 에디터에서 필수로 달고 다녀야 함....
+ var $editor_sequence = 0;
var $component_path = '';
/**
- * @brief upload_target_srl과 컴포넌트의 경로를 받음
+ * @brief editor_sequence과 컴포넌트의 경로를 받음
**/
- function multimedia_link($upload_target_srl, $component_path) {
- $this->upload_target_srl = $upload_target_srl;
+ function multimedia_link($editor_sequence, $component_path) {
+ $this->editor_sequence = $editor_sequence;
$this->component_path = $component_path;
}
diff --git a/modules/editor/components/poll_maker/poll_maker.class.php b/modules/editor/components/poll_maker/poll_maker.class.php
index 7b559fd56..dda44c901 100644
--- a/modules/editor/components/poll_maker/poll_maker.class.php
+++ b/modules/editor/components/poll_maker/poll_maker.class.php
@@ -7,15 +7,15 @@
class poll_maker extends EditorHandler {
- // upload_target_srl 는 에디터에서 필수로 달고 다녀야 함....
- var $upload_target_srl = 0;
+ // editor_sequence 는 에디터에서 필수로 달고 다녀야 함....
+ var $editor_sequence = 0;
var $component_path = '';
/**
- * @brief upload_target_srl과 컴포넌트의 경로를 받음
+ * @brief editor_sequence과 컴포넌트의 경로를 받음
**/
- function poll_maker($upload_target_srl, $component_path) {
- $this->upload_target_srl = $upload_target_srl;
+ function poll_maker($editor_sequence, $component_path) {
+ $this->editor_sequence = $editor_sequence;
$this->component_path = $component_path;
}
diff --git a/modules/editor/components/poll_maker/tpl/popup.html b/modules/editor/components/poll_maker/tpl/popup.html
index fb1abeda7..c04ef50ab 100644
--- a/modules/editor/components/poll_maker/tpl/popup.html
+++ b/modules/editor/components/poll_maker/tpl/popup.html
@@ -15,7 +15,7 @@
diff --git a/modules/editor/components/quotation/quotation.class.php b/modules/editor/components/quotation/quotation.class.php
index c93b53d76..2e60de13d 100644
--- a/modules/editor/components/quotation/quotation.class.php
+++ b/modules/editor/components/quotation/quotation.class.php
@@ -7,15 +7,15 @@
class quotation extends EditorHandler {
- // upload_target_srl 는 에디터에서 필수로 달고 다녀야 함....
- var $upload_target_srl = 0;
+ // editor_sequence 는 에디터에서 필수로 달고 다녀야 함....
+ var $editor_sequence = 0;
var $component_path = '';
/**
- * @brief upload_target_srl과 컴포넌트의 경로를 받음
+ * @brief editor_sequence과 컴포넌트의 경로를 받음
**/
- function quotation($upload_target_srl, $component_path) {
- $this->upload_target_srl = $upload_target_srl;
+ function quotation($editor_sequence, $component_path) {
+ $this->editor_sequence = $editor_sequence;
$this->component_path = $component_path;
}
diff --git a/modules/editor/components/table_maker/table_maker.class.php b/modules/editor/components/table_maker/table_maker.class.php
index 6b87d2758..3eddb7878 100644
--- a/modules/editor/components/table_maker/table_maker.class.php
+++ b/modules/editor/components/table_maker/table_maker.class.php
@@ -7,15 +7,15 @@
class table_maker extends EditorHandler {
- // upload_target_srl 는 에디터에서 필수로 달고 다녀야 함....
- var $upload_target_srl = 0;
+ // editor_sequence 는 에디터에서 필수로 달고 다녀야 함....
+ var $editor_sequence = 0;
var $component_path = '';
/**
- * @brief upload_target_srl과 컴포넌트의 경로를 받음
+ * @brief editor_sequence과 컴포넌트의 경로를 받음
**/
- function table_maker($upload_target_srl, $component_path) {
- $this->upload_target_srl = $upload_target_srl;
+ function table_maker($editor_sequence, $component_path) {
+ $this->editor_sequence = $editor_sequence;
$this->component_path = $component_path;
}
diff --git a/modules/editor/components/url_link/url_link.class.php b/modules/editor/components/url_link/url_link.class.php
index 2f8fc7211..3f8ae3429 100644
--- a/modules/editor/components/url_link/url_link.class.php
+++ b/modules/editor/components/url_link/url_link.class.php
@@ -7,15 +7,15 @@
class url_link extends EditorHandler {
- // upload_target_srl 는 에디터에서 필수로 달고 다녀야 함....
- var $upload_target_srl = 0;
+ // editor_sequence 는 에디터에서 필수로 달고 다녀야 함....
+ var $editor_sequence = 0;
var $component_path = '';
/**
- * @brief upload_target_srl과 컴포넌트의 경로를 받음
+ * @brief editor_sequence과 컴포넌트의 경로를 받음
**/
- function url_link($upload_target_srl, $component_path) {
- $this->upload_target_srl = $upload_target_srl;
+ function url_link($editor_sequence, $component_path) {
+ $this->editor_sequence = $editor_sequence;
$this->component_path = $component_path;
}
diff --git a/modules/editor/editor.controller.php b/modules/editor/editor.controller.php
index 151f0ba8d..3e82f963c 100644
--- a/modules/editor/editor.controller.php
+++ b/modules/editor/editor.controller.php
@@ -31,12 +31,8 @@
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
}
- // 필요한 데이터가 없으면 pass
- if(!$args->document_srl || (!$args->title && !$args->content)) return new Object(0,'');
-
// 저장
$output = executeQuery('editor.insertSavedDoc', $args);
-
$this->setMessage('msg_auto_saved');
}
diff --git a/modules/editor/editor.model.php b/modules/editor/editor.model.php
index 206f03f0f..3e08b972b 100644
--- a/modules/editor/editor.model.php
+++ b/modules/editor/editor.model.php
@@ -11,13 +11,30 @@
/**
* @brief 에디터를 return
+ *
+ * 에디터의 경우 내부적으로 1~30까지의 임시 editor_seuqnece를 생성한다.
+ * 즉 한페이지에 30개 이상의 에디터를 출력하지는 못하도록 제한되어 있다.
+ *
+ * 단, 수정하는 경우 또는 파일업로드를 한 자동저장본의 경우는 getNextSequence() 값으로 저장된 editor_seqnece가
+ * 설정된다.
+ *
+ * editor_sequence <= 30 일경우에는 무조건 가상의 번호로 판별함
**/
- function getEditor($upload_target_srl, $option = null) {
+
+ /**
+ * 에디터 template을 return
+ * upload_target_srl은 글의 수정시 호출하면 됨.
+ * 이 upload_target_srl은 첨부파일의 유무를 체크하기 위한 루틴을 구현하는데 사용됨.
+ **/
+ function getEditor($upload_target_srl = 0, $option = null) {
+ /**
+ * 기본적인 에디터의 옵션을 정리
+ **/
// 파일 업로드 유무 옵션 설정
if(!$option->allow_fileupload) $allow_fileupload = false;
else $allow_fileupload = true;
- // 자동 저장 유무 옵션 설정
+ // 자동 저장 유무 옵션 설정
if(!$option->enable_autosave) $enable_autosave = false;
else $enable_autosave = true;
@@ -41,35 +58,68 @@
if(!$option->skin) $skin = 'default';
else $skin = $option->skin;
- // 대상 문서 번호 설정
- Context::set('upload_target_srl', $upload_target_srl);
+ /**
+ * 자동백업 기능 체크 (글 수정일 경우는 사용하지 않음)
+ **/
+ if(!$upload_target_srl && $enable_autosave) {
+ // 자동 저장된 데이터를 추출
+ $saved_doc = $this->getSavedDoc();
- // 업로드 가능 변수 설정
- if($allow_fileupload) {
- // 첨부파일 모듈의 정보를 구함
- $logged_info = Context::get('logged_info');
- if($logged_info->member_srl && $logged_info->is_admin == 'Y') {
- $file_config->allowed_filesize = 1024*1024*1024;
- $file_config->allowed_attach_size = 1024*1024*1024;
- $file_config->allowed_filetypes = '*.*';
- } else {
- $oModuleModel = &getModel('module');
- $file_config = $oModuleModel->getModuleConfig('file');
- $file_config->allowed_filesize = $file_config->allowed_filesize * 1024;
- $file_config->allowed_attach_size = $file_config->allowed_attach_size * 1024;
- }
- Context::set('file_config',$file_config);
- }
- Context::set('allow_fileupload', $allow_fileupload);
+ // 자동저장된 데이터에 실제하는 문서 번호가 있다면 해당 문서 번호를 세팅
+ if($saved_doc->document_srl) $upload_target_srl = $saved_doc->upload_target_srl;
- // 자동백업 기능 체크
- if($enable_autosave) {
- $saved_doc = $this->getSavedDoc($upload_target_srl);
+ // 자동 저장 데이터를 context setting
Context::set('saved_doc', $saved_doc);
}
Context::set('enable_autosave', $enable_autosave);
- // 에디터 컴포넌트 체크
+ /**
+ * 에디터의 고유 번호 추출 (한 페이지에 여러개의 에디터를 출력하는 경우를 대비)
+ **/
+ if($option->editor_sequence) $editor_sequence = $option->editor_sequence;
+ else {
+ if(!$GLOBALS['_editor_sequence_']) $GLOBALS['_editor_sequence_'] = 1;
+ $editor_sequence = $GLOBALS['_editor_sequence_'] ++;
+ }
+
+ /**
+ * 업로드 활성화시 내부적으로 file 모듈의 환경설정을 이용하여 설정
+ **/
+ if($allow_fileupload) {
+ $oFileModel = &getModel('file');
+
+ // SWFUploader에 세팅할 업로드 설정 구함
+ $file_config = $oFileModel->getUploadConfig();
+ $file_config->attached_size = FileHandler::filesize($file_config->allowed_attach_size*1024*1024);
+ $file_config->allowed_filesize = FileHandler::filesize($file_config->allowed_filesize*1024*1024);
+ Context::set('file_config',$file_config);
+
+ // 업로드 가능 용량등에 대한 정보를 세팅
+ $upload_status = $oFileModel->getUploadStatus();
+ Context::set('upload_status', $upload_status);
+
+ // upload가능하다고 설정 (내부적으로 캐싱하여 처리)
+ $oFileController = &getController('file');
+ $oFileController->setUploadInfo($editor_sequence, $upload_target_srl);
+ }
+ Context::set('allow_fileupload', $allow_fileupload);
+
+ // 에디터 동작을 위한 editor_sequence값 설정
+ Context::set('editor_sequence', $editor_sequence);
+
+ // 파일 첨부 관련 행동을 하기 위해 문서 번호를 upload_target_srl로 설정
+ // 신규문서일 경우 upload_target_srl=0 이고 첨부파일 관련 동작이 요청될때 이 값이 변경됨
+ Context::set('upload_target_srl', $upload_target_srl);
+
+ // 문서 혹은 댓글의 primary key값을 세팅한다.
+ Context::set('editor_primary_key_name', $option->primary_key_name);
+
+ // 내용을 sync 맞추기 위한 content column name을 세팅한다
+ Context::set('editor_content_key_name', $option->content_key_name);
+
+ /**
+ * 에디터 컴포넌트 체크
+ **/
if($enable_component) {
if(!Context::get('component_list')) {
$component_list = $this->getComponentList();
@@ -79,24 +129,24 @@
Context::set('enable_component', $enable_component);
Context::set('enable_default_component', $enable_default_component);
- // resizable 가능한지 변수 설정
+ /**
+ * resizable 가능한지 변수 설정
+ **/
Context::set('enable_resizable', $resizable);
- // 에디터 크기 설정
+ /**
+ * 에디터 세로 크기 설정
+ **/
Context::set('editor_height', $editor_height);
- // 템플릿을 미리 컴파일해서 컴파일된 소스를 return
+ /**
+ * 템플릿을 미리 컴파일해서 컴파일된 소스를 하기 위해 스킨의 경로를 설정
+ **/
$tpl_path = sprintf('%sskins/%s/', $this->module_path, $skin);
$tpl_file = 'editor.html';
-
- // editor_path를 지정
Context::set('editor_path', $tpl_path);
- // 만약 allow_fileupload == true 이면 upload_target_srl에 upload가능하다고 설정
- if($allow_fileupload) {
- $oFileController = &getController('file');
- $oFileController->setUploadEnable($upload_target_srl);
- }
+ // tpl 파일을 compile한 결과를 return
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($tpl_path, $tpl_file);
}
@@ -104,7 +154,7 @@
/**
* @brief 자동저장되어 있는 정보를 가져옴
**/
- function getSavedDoc($upload_target_srl) {
+ function getSavedDoc() {
// 로그인 회원이면 member_srl, 아니면 ipaddress로 저장되어 있는 문서를 찾음
if(Context::get('is_logged')) {
$logged_info = Context::get('logged_info');
@@ -113,17 +163,19 @@
$auto_save_args->ipaddress = $_SERVER['REMOTE_ADDR'];
}
+ // DB에서 자동저장 데이터 추출
$output = executeQuery('editor.getSavedDocument', $auto_save_args);
$saved_doc = $output->data;
+
+ // 자동저장한 결과가 없으면 null값 return
if(!$saved_doc) return;
- // 원본 글이 저장되어 있지 않은 글일 경우 첨부된 파일이 있으면 현재 글 번호로 옮김
- $oDocumentModel = &getModel('document');
- $document = $oDocumentModel->getDocument($saved_doc->document_srl);
- if($document->document_srl != $saved_doc->document_srl) {
+ // 자동저장 데이터에 문서번호가 있고 이 번호에 파일이 있다면 파일을 모두 이동하고
+ // 해당 문서 번호를 editor_sequence로 세팅함
+ if($saved_doc->document_srl) {
$module_srl = Context::get('module_srl');
$oFileController = &getController('file');
- $oFileController->moveFile($saved_doc->document_srl, $module_srl, $upload_target_srl);
+ $oFileController->moveFile($saved_doc->document_srl, $module_srl, $saved_doc->document_srl);
}
return $saved_doc;
@@ -132,8 +184,8 @@
/**
* @brief component의 객체 생성
**/
- function getComponentObject($component, $upload_target_srl = 0) {
- if(!$this->loaded_component_list[$component][$upload_target_srl]) {
+ function getComponentObject($component, $editor_sequence = 0) {
+ if(!$this->loaded_component_list[$component][$editor_sequence]) {
// 해당 컴포넌트의 객체를 생성해서 실행
$class_path = sprintf('%scomponents/%s/', $this->module_path, $component);
$class_file = sprintf('%s%s.class.php', $class_path, $component);
@@ -141,17 +193,17 @@
// 클래스 파일을 읽은 후 객체 생성
require_once($class_file);
- $eval_str = sprintf('$oComponent = new %s("%s","%s");', $component, $upload_target_srl, $class_path);
+ $eval_str = sprintf('$oComponent = new %s("%s","%s");', $component, $editor_sequence, $class_path);
@eval($eval_str);
if(!$oComponent) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component));
// 설정 정보를 추가
$component_info = $this->getComponent($component);
$oComponent->setInfo($component_info);
- $this->loaded_component_list[$component][$upload_target_srl] = $oComponent;
+ $this->loaded_component_list[$component][$editor_sequence] = $oComponent;
}
- return $this->loaded_component_list[$component][$upload_target_srl];
+ return $this->loaded_component_list[$component][$editor_sequence];
}
/**
diff --git a/modules/editor/editor.view.php b/modules/editor/editor.view.php
index e2c7807c8..a08985c6d 100644
--- a/modules/editor/editor.view.php
+++ b/modules/editor/editor.view.php
@@ -21,12 +21,12 @@
Context::addCssFile($this->module_path."tpl/css/editor.css");
// 변수 정리
- $upload_target_srl = Context::get('upload_target_srl');
+ $editor_sequence = Context::get('editor_sequence ');
$component = Context::get('component');
// component 객체를 받음
$oEditorModel = &getModel('editor');
- $oComponent = &$oEditorModel->getComponentObject($component, $upload_target_srl);
+ $oComponent = &$oEditorModel->getComponentObject($component, $editor_sequence);
if(!$oComponent->toBool()) {
Context::set('message', sprintf(Context::getLang('msg_component_is_not_founded'), $component));
$this->setTemplatePath($this->module_path.'tpl');
diff --git a/modules/editor/lang/ko.lang.php b/modules/editor/lang/ko.lang.php
index 4d0519454..d2e4abf60 100644
--- a/modules/editor/lang/ko.lang.php
+++ b/modules/editor/lang/ko.lang.php
@@ -54,6 +54,10 @@
$lang->edit->submit = '확인';
+ $lang->edit->help_remove_format = "선택된 영역 내의 태그를 지웁니다";
+ $lang->edit->help_strike_through = "글자에 취소선을 표시합니다";
+ $lang->edit->help_align_full = "좌우 폭에 맞게 정렬을 합니다";
+
$lang->edit->help_fontcolor = "글자의 색상을 지정합니다";
$lang->edit->help_fontbgcolor = "글자의 배경색상을 지정합니다";
$lang->edit->help_bold = "글자를 진하게 합니다";
diff --git a/modules/editor/skins/default/editor.html b/modules/editor/skins/default/editor.html
index 67335a371..b2722592a 100644
--- a/modules/editor/skins/default/editor.html
+++ b/modules/editor/skins/default/editor.html
@@ -8,7 +8,7 @@
@@ -21,21 +21,21 @@
-
+
-
+
+
+
+
-
-
+
+
{$lang->about_dblclick_in_editor}
-
{$lang->edit->help_use_paragrapth}
-

+
{$lang->edit->help_use_paragrapth}
+
+
-
-
+
+
+
-
+
+
-
-
-
+
-
-
+
+ {$upload_status}
-
-
-
+
+
+
diff --git a/modules/editor/skins/default/images/editor_btn_removeformat.gif b/modules/editor/skins/default/images/editor_btn_removeformat.gif
new file mode 100644
index 000000000..a53b49625
Binary files /dev/null and b/modules/editor/skins/default/images/editor_btn_removeformat.gif differ
diff --git a/modules/editor/skins/default/images/editor_btn_strikethrough.gif b/modules/editor/skins/default/images/editor_btn_strikethrough.gif
new file mode 100644
index 000000000..cdae068ea
Binary files /dev/null and b/modules/editor/skins/default/images/editor_btn_strikethrough.gif differ
diff --git a/modules/editor/tpl/js/editor.js b/modules/editor/tpl/js/editor.js
index 04a48c5eb..5971f387b 100755
--- a/modules/editor/tpl/js/editor.js
+++ b/modules/editor/tpl/js/editor.js
@@ -4,193 +4,57 @@
* @brief 에디터 관련 스크립트
**/
-// iframe의 id prefix
-var iframe_id = 'editor_iframe_';
-var textarea_id = 'editor_textarea_';
+/**
+ * 에디터에서 사용하는 iframe, textarea의 prefix
+ **/
+var iframe_id = 'editor_iframe_'; ///< 에디터로 사용하는 iframe의 prefix
+var textarea_id = 'editor_textarea_'; ///< 에디터의 html편집 모드에서 사용하는 textarea의 prefix
+var editor_mode = new Array(); ///<< 에디터의 html편집 모드 flag 세팅 변수
+var _editorSyncList = new Array(); ///< 에디터와 form 동기화를 위한 동기화 대상 목록
+var _autoSaveObj = {fo_obj:null, editor_sequence:0, title:'', content:'', locked:false} ///< 자동저장을 위한 정보를 가진 object
+var editor_rel_keys = new Array(); ///< 에디터와 각 모듈과의 연동을 위한 key 값을 보관하는 변수
-// upload_target_srl에 대한 form문을 객체로 보관함
-var editor_form_list = new Array();
+/**
+ * 에디터 사용시 사용되는 이벤트 연결 함수 호출
+ **/
+xAddEventListener(window, 'load', _editorSync); ///< 에디터의 동기화를 하는 함수를 window.load시 실행
-// 편집 상태에 대한 체크
-var editor_mode = new Array();
-// upload_target_srl값에 해당하는 iframe의 object를 return
-function editorGetIFrame(upload_target_srl) {
- var obj_id = iframe_id+upload_target_srl;
+
+/**
+ * 에디터의 상태나 객체를 구하기 위한 함수
+ **/
+
+// editor_sequence값에 해당하는 iframe의 object를 return
+function editorGetIFrame(editor_sequence) {
+ var obj_id = iframe_id + editor_sequence;
return xGetElementById(obj_id);
}
-// upload_target_srl값에 해당하는 textarea object를 return
-function editorGetTextArea(upload_target_srl) {
- var obj_id = textarea_id+upload_target_srl;
+// editor_sequence값에 해당하는 textarea object를 return
+function editorGetTextArea(editor_sequence) {
+ var obj_id = textarea_id + editor_sequence;
return xGetElementById(obj_id);
}
-// editor 시작 (upload_target_srl로 iframe객체를 얻어서 쓰기 모드로 전환)
-function editorStart(upload_target_srl, resizable, editor_height) {
- if(typeof(resizable)=="undefined"||!resizable) resizable = false;
- else resizable = true;
-
- // iframe obj를 찾음
- var iframe_obj = editorGetIFrame(upload_target_srl);
+// editor_sequence에 해당하는 form문 구함
+function editorGetForm(editor_sequence) {
+ var iframe_obj = editorGetIFrame(editor_sequence);
if(!iframe_obj) return;
- iframe_obj.style.width = '100%';
-
- // 현 에디터를 감싸고 있는 form문을 찾아서 content object를 찾아서 내용 sync
var fo_obj = iframe_obj.parentNode;
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
-
- // saved document에 대한 체크
- if(typeof(fo_obj._saved_doc_title)!="undefined" ) {
- var saved_title = fo_obj._saved_doc_title.value;
- var saved_content = fo_obj._saved_doc_content.value;
- if(saved_title || saved_content) {
- if(confirm(fo_obj._saved_doc_message.value)) {
- fo_obj.title.value = saved_title;
- fo_obj.content.value = saved_content;
- } else {
- editorRemoveSavedDoc();
- }
- }
- }
-
- // 구해진 form 객체를 저장
- editor_form_list[upload_target_srl] = fo_obj;
-
- // 대상 form의 content object에서 데이터를 구함
- var content = fo_obj.content.value;
- if(!content && !xIE4Up) content = "
";
-
- // iframe내의 document object
- var contentDocument = iframe_obj.contentWindow.document;
-
- // 기본 내용 작성
- var contentHtml = ''+
- ''+
- '
'+
- '
'+
- '
'+
- '
'+
- ''+
- ''+
- content+
- '