FCKEditor定制两则

FCKEditor是一个非常强大的RichEditor, 它提供的在线编辑功能极其丰富, 不过有时候我们会根据项目需要进行一些定制, 最近的一个项目就涉及到两个定制的地方
第一个地方,希望对在页面中插入本地图片, 这个就是要修改image dialog, 我们首选找到FCKEditor\editor\dialog\fck_image文件夹, 对话框中的事件脚本都写在fck_image.js里面, 由于我们只是插入本地图片, 因为我们只需要一个图像tab, 因此将其他的tab页去掉, 只保留这一句:
// Set the dialog tabs.
window.parent.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;


接下来就是要修改dialog文件夹下的html模板文件:fck_image.html, 只保留divInfo DIV下的内容, 其他几个div都干掉, 在divInfo中有一个浏览服务器的按钮, 那个我们也要去掉, 加上我们自己打开本地文件的file input元素,修改如下:
<tr>
	<td>
		<input id="btnBrowse"  type="file" value="Browse Server"
						fcklang="DlgBtnBrowseServer" style="width: 100%;" onChange = "SetImage(this.value)"/><br />
		<input id="txtUrl" style="width: 100%;display:none" type="text" onblur="UpdatePreview();" /><br />
	</td>
</tr>
<tr>
	<td>
		<span fcklang="DlgImgAlt">Short Description</span><br />
		<input id="txtAlt" style="width: 100%" type="text" /><br />
	</td>
</tr>


这里我们定义了一个方法:SetImage(this.value), 需要在fck_image.js中加上改方法:
function SetImage(value){
	value = value.replace(/\\/g,"/");
	txtUrl.value = "file:///" + value;
	UpdatePreview();
}


由于FCKEditor的架构非常清晰, 代码也是通俗易懂, 因此修改起来还是非常容易的, 这样我们的修改就大功告成了

接下来我们还有一个需要修改的就是定义toolbar, 比如这里我们需要去掉flash这个toolbar item, 修改更简单, 只需要在fckconfig.js中将:
FCKConfig.ToolbarSets["Default"] = [
	['Source','DocProps','-','Save','NewPage','-'],
	['Cut','Copy','Paste','PasteText','PasteWord','-'],
	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
	['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
	['OrderedList','UnorderedList','-','Outdent','Indent'],
	['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
	['Link','Unlink'],
	['Image','Flash','Table','Rule','SpecialChar','PageBreak'],
	['Style','FontFormat','FontName','FontSize'],
	['TextColor','BGColor']
] ;

里面的'Flash'去掉即可

你可能感兴趣的:(JavaScript,浏览器,fckeditor,脚本,Flash)