在我做过的很多个项目中都使用到了FCK编辑器,有个问题一直困扰着我,就是很多人喜欢直接从Word中复制内容粘贴到FCK中,这样也复制了Word中的格式,也就产生了大量的垃圾代码,这些代码还经常影响到了页面的显示,今天下午终于狠下心来把这个问题解决了。从此从Word粘贴内容再也不会提示是否清理格式而是自动清除格式。
FCK对IE浏览器的操作在这个文件中:fcKeditor/editor/js/fckeditorcode_ie.js。可以用编辑工具打开,其中代码非常多,第33行就是对word格式的检测。源代码中 if(FCKConfig.AutoDetectPasteFromWord&&A.length>0){var B=/<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi;if (B.test(A)){......} 就是自动检测文字里是否包含word的标签,而我们的修改就是在就在最后一个大括号里添加代码。变量A就是粘贴板里的内容,B.test(A)就是检测是否是从Word粘贴过来的,我们用var D=A,然后在对D进行过滤, 最后把过滤后的数据插回到输入框,就是 result=this.InsertHtml(D);
具体的过滤代码FCK中也有非常好的例子,过滤代码可以在fcKeditor/editor/dialog/fck_paste.html中找到,在185行方法:function CleanWord( oNode, bIgnoreFont, bRemoveStyles ),第一个参数为要处理内容所在的对象,bIgnoreFont和bRemoveStyles 分别为是否清除Font和Style代码。
找到了清除的方法,我们可以复制这个方法到fcKeditor/editor/js/fckeditorcode_ie.js中,为了避免出错,可以把此方法原样不动的复制到fckeditorcode_ie.js的最上面,在做下小改动:
原方法第一句为:
var html = oNode.innerHTML ;
为获取要清除的内容
我们修改为:
var html = oNode;
这样我们就可以直接传入要清除的内容了
又回到B.tset(A)后的大括号,里面全部代码删掉,如果有兴趣可以看一下,是弹出那个是否要清除格式的代码。大括号里内容可以这样写:
var D=CleanWord(A,true,true);
result=this.InsertHtml(D);
return false;
这样就完成了。
注意:CleanWord方法中大家仍可以自己设置是否清除Font和Style。
后面的return false;作用是停止粘贴,如果不中止这个操作,FCK中就会出现一个清除掉格式的内容和一个未清除格式的内容,呵呵,有兴趣可以试试。
祝各位修改顺利,有问题可以交流。
如果想偷懒的话,直接可以下载我修改好的文件覆盖掉你自己的就OK了,第一个附件为:fcKeditor/editor/js/fckeditorcode_ie.js
第二个附件是网友给我推荐修改后在火狐下可以自动去掉格式的fcKeditor/editor/js/fckeditorcode_gecko.js,我没有测试,各位有兴趣可以研究一下,试用结果可以给我留言交流,谢谢
分享到:
相关推荐
FCK编辑器是一款广泛应用于网站内容管理系统的开源富文本编辑器,它允许用户在网页上进行类似Word的文本编辑操作。然而,就像任何其他软件一样,FCK编辑器也存在安全漏洞,这些漏洞可能被恶意攻击者利用来进行渗透...
ASP.NET FCK文本编辑器是一款在ASP.NET平台上广泛使用的富文本编辑器,它极大地扩展了网页表单中的文本输入功能。这款编辑器以其强大的特性,如支持Word文档导入、插入图片、理科公式以及特殊符号和QQ表情,为网站...
在.NET环境中,FCKEditor通常通过ASP.NET来使用,它可以被嵌入到Web表单中,为用户提供类似Word的富文本编辑体验。用户可以通过这个编辑器进行文字格式化、插入图片、超链接、表格等操作,极大地提高了网页内容编辑...
FCKeditor是一款非常知名的开源富文本编辑器,广泛应用于网页内容编辑和管理,它允许用户在网页上进行类似Word的文本编辑操作,如字体设置、段落格式化、插入图片和链接等。 FCKeditor 2.6.4是该编辑器的一个特定...
**FCK编辑器在JSP中的应用实例** FCKeditor是一款知名的开源富文本编辑器,它为网页开发者提供了在浏览器端进行文字编辑的功能,支持多种格式的文本、图像、链接等元素的插入与编辑。本实例主要探讨如何将FCKeditor...
你可以在`fckToolbarButtons.js`和`fck_config.js`中配置工具栏,或者通过`FCKeditorAPI`接口在运行时动态操作编辑器。 7. **图片上传与管理** FCKeditor提供了内置的图片上传功能,用户可以直接在编辑器中上传...
FCK文本编辑器是一款开源的在线富文本编辑器,它为Web应用提供了强大的文本格式化功能,用户可以在浏览器端直接编辑、格式化文本,类似于桌面应用程序中的Word编辑体验。FCKeditor广泛应用于论坛、博客、CMS(内容...
- 常见的校验方法包括但不限于:必填项检查、长度限制、格式验证(如邮箱格式、电话号码格式)等。 #### 2. 一对多智能表单 [Online 表单开发] - **一对多表单**: - 创建一对多表单需要先创建主表,然后再创建...
在Word模板与FCK编辑器结合使用的过程中,可以拷贝Word模板到FCK编辑器并提交激活,查看最终表单页面。 知识点四:表单字段校验方法 在表单开发中,表单字段校验是非常重要的环节,以确保用户输入的数据的有效性和...
FCKeditor是一款开源的Web富文本编辑器,它允许用户在网页上创建和编辑类似Word的文档内容。这款编辑器以其强大的功能、易用性和跨平台特性,在Web开发中得到了广泛应用。在这个“fckedit编辑器实例”中,我们有一个...