EXTJS htmleditor 삽입 이미지 개선
// .
var imgform;
var range;
var HTMLEditor = Ext.extend(Ext.form.HtmlEditor, {
addImage : function() {
if (Ext.isIE) {
if (this.iframe.contentWindow.document.selection.type.toLowerCase() != "none"){
this.iframe.contentWindow.document.selection.clear() ;
}
this.iframe.contentWindow.focus();
range = this.iframe.contentWindow.document.selection.createRange();
range.collapse(false);
range.select();
}
var editor = this;
imgform = new Ext.FormPanel({
region : 'center',
labelWidth : 55,
frame : true,
bodyStyle : 'padding:5px 5px 0',
autoScroll : true,
border : false,
fileUpload : true,
items : [ {
xtype : 'textfield',
fieldLabel : ' ',
id : 'UserFile',
name : 'UserFile',
inputType : 'file',
anchor : '90%'
} ],
buttons : [{
text : ' ',
handler : function() {
if(Ext.getDom("UserFile").value == ""){
Ext.Msg.alert(" "," , ");
return;
}
if (!imgform.form.isValid()) {return;}
imgform.form.submit({
waitMsg : ' ......',
url : '/DTAC/declareProject/uploadPic.do?t='+new Date().getTime(),
success : function(form,action) {
var element = document.createElement("img");
element.src = action.result.fileURL;
element.height = 200;
element.wigth= 200;
if (Ext.isIE) {
/*var value = editor.getValue();
editor.reset() ;
editor.insertAtCursor(value);*/
range.moveEnd("character",0);
range.collapse(false);
range.select();
editor.iframe.contentWindow.focus();
editor.insertAtCursor(element.outerHTML);
} else {
var selection = editor.win.getSelection();
if (!selection.isCollapsed) {
selection.deleteFromDocument();
}
selection.getRangeAt(0).insertNode(element);
}
// win.hide();// ,
//
form.reset();
win.close();
},
failure : function(form,action) {
/* */
form.reset();
Ext.MessageBox.alert(' ',action.result.msg);
}
});
}
}, {
text : ' ',
handler : function() {
win.close(this);
}
} ]
});
var win = new Ext.Window({
title : " ",
width : 300,
height:150,
modal : true,
border : false,
iconCls : "content/images/image.png",
layout : "fit",
items : imgform
});
win.show();
},
createToolbar : function(editor) {
HTMLEditor.superclass.createToolbar.call(this, editor);
this.tb.addButton({
cls : "x-btn-icon",
icon : "/DTAC/content/images/image.png",
handler : this.addImage,
scope : this,
tooltip :
{
title : ' ',
text : ' ',
cls : 'x-html-editor-tip'
}
});
},
addHelp :function(){
var win = new Ext.Window({
title : " ",
width : 300,
height : 120,
modal : true,
border : false,
iconCls : "/DTAC/content/images/help.png",
layout : "fit",
html:' '
});
win.show();
}
});
Ext.reg('StarHtmleditor', HTMLEditor);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.