ckeditor的插入图片和flash和我的需求相去甚远,所以我想做个按钮调用自己的插入图片页面。
相关js代码如下:
function initEditor(theName, theWidth, theHeight){
var editor = CKEDITOR.replace(theName, {
language : 'zh-cn',
skin : 'office2003',
startupFocus : true,
removePlugins : 'elementspath',
width : theWidth,
height : theHeight,
//resize_enabled : false,
resize_maxHeight : 600,
resize_maxWidth : 1000,
toolbar : [
['Save','-','Preview','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
'/',
['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
['Link','Unlink','Anchor'],
['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar', 'PageBreak'],
'/',
['Styles','Format','Font','FontSize'],
['TextColor','BGColor'],
['Maximize','ShowBlocks','-','About','-','MyButton']
]
});
addMyBytton(editor);
}
function addMyBytton(editor){
editor.on('pluginsLoaded', function( ev ){
editor.addCommand( 'insertSth', {
exec:function (e){
var returnValue = window.showModalDialog('mine/initAction.action?myWord=hello');
CKEDITOR.instances.editor.insertHtml(returnValue);
}
} );
editor.ui.addButton('MyButton',
{
label : editor.lang.mine,
icon : 'image',
command : 'insertSth'
});
});
}
initEditor里主要是加载编辑器并配置一些参数,配置参数可以去查询ckeditor的api文档。
addMyButton是生成了一个按钮,并定义了这个按钮触发的事件,就是用模式窗口打开一个页面,把返回值插入到编辑器里就ok了。而把按钮显示在工具条上是在initEditor中设置toolbar属性时指定的。
需要注意的是,弹出的页面里如果有提交表单的操作,返回页面会在一个新窗口中打开,为了避免这种情况最好使用Ajax提交。当然因为我的页面有文件上传所以没办法用Ajax提交表单,所以我用的是iframe来处理的。
以上代码放到一个单独的js文件中,在编辑器页面的onload中调用initEditor方法就可以了。当然也可以用开发插件的方式把内容放到ckeditor的plugins目录下,这样的好处是不会把自己的代码和ckeditor的代码混到一起,方便以后升级ckeditor,当然如果是商业开发这样也更容易根据代码算钱。
分享到:
相关推荐
8. **样式与交互**:根据需求,可能还需要自定义CKEditor的样式和交互,例如修改按钮样式,添加预览功能,或者调整编辑器的宽度和高度。 9. **测试与调试**:整合完成后,通过浏览器进行测试,确保CKEditor能正常...
4. 可定制性:允许开发者根据项目需求自定义编辑器的外观和行为,包括改变皮肤、禁用某些功能或添加自定义按钮。 5. 国际化支持:内置多语言包,方便不同地区的用户使用。 6. API接口:提供了JavaScript API,允许...
在Java环境下,CkEditor和ckfinder的集成可以为开发者带来诸多便利。首先,CkEditor提供了丰富的API,支持自定义配置,使得编辑器能够满足各种定制需求,例如调整字体大小、颜色,添加链接,甚至插入表格和多媒体...
在`head`部分添加如下代码: ```html 路径/ckeditor/ckeditor.js"> ``` 确保路径正确指向了你解压后的`ckeditor.js`文件。 4. **创建CKEditor实例** 在需要使用编辑器的地方,用`<textarea>`标签定义一个...
在描述中提到的例子是一个基于JSP的集成示例,这意味着开发者已经实现了CKFinder与CKEditor在Java环境下的集成。对于Java开发者来说,需要熟悉Servlet、JSP以及可能涉及的Spring MVC或Struts等框架来完成这个过程。 ...
Fck2.4编辑器的这一特性确保了在Struts2环境下,用户可以正常上传和显示图片,无需额外进行复杂的配置或调试。 压缩包内的“fck编辑器使用示例”文件很可能是包含了一组示例代码或者一个演示项目,用于指导开发者...
富文本框在Java Web中的实现通常涉及JavaScript库(如TinyMCE, CKEditor)与后端服务器(如Spring MVC, Struts2)的交互。这些库通常提供一个JavaScript接口,用于在前端创建和管理富文本编辑器,并通过AJAX将内容...
在实际项目中,FCKeditor可能与Spring MVC、Struts2等框架结合使用,通过Action或Controller处理来自FCKeditor的请求。此外,还可以利用FCKeditor的API实现自定义功能,如自定义工具栏按钮、扩展编辑器功能等。 ...
- EWebEditor允许自定义按钮和功能,如果在实现自定义功能时出现问题,检查相关JavaScript代码是否正确触发事件和调用服务器接口。 - 在`custom.js`中定义自定义方法,并确保它在EWebEditor初始化后执行。 7. **...
- **自定义工具栏**:根据需求可以定制编辑器的工具栏,选择显示哪些功能按钮。 4. **安全性考虑** - **文件上传安全**:确保对上传文件进行类型检查和大小限制,防止恶意文件上传。 - **XSS防护**:由于编辑的...
2. **Java集成**:在Java应用中,通常通过Servlet或者Struts、Spring MVC等MVC框架来与FCKeditor交互。FCKeditor会将用户的编辑内容作为POST请求发送到服务器,服务器端的Java代码则负责处理这些请求,如保存内容、...
Java类文件可能是自定义的,也可能依赖于已有的框架,如Spring MVC或Struts。 3. **HTML/CSS/JavaScript文件**:构成编辑器用户界面的主要元素,HTML文件定义了布局和结构,CSS文件用于样式控制,而JavaScript文件...
日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...