原文地址: http://blog.lehu.shu.edu.cn/qiutian/A20112.html
FCKeditor 是现在用的最多的可视编辑器,乐乎也是使用了该编辑器,应大家的要求,添加了插入视频和音频的功能,因为2.6版的修改可能和其他版本不一样,所以我把修改的地方列举出来,格式我是看到网上有位同志的格式很好,照抄的,内容已经修改
修改前注意备份文件,以免造成不必要的麻烦。
一、分别打开:editor/js/fckeditorcode_ie.js和/editor/js/fckeditorcode_gecko.js
找到程序代码
||/\.swf($|#|\?)/i.test(A.src) 这段代码的主要用来判断后缀名,如果后缀名不是swf则返回,把它替换为: ||/\.swf($|#|\?)/i.test(A.src)||/\.mpg($|#|\?)/i.test(A.src)||/\.asf($|#|\?)/i.test(A.src)||/\.wma($|#|\?)/i.test(A.src)
||/\.wmv($|#|\?)/i.test(A.src)||/\.avi($|#|\?)/i.test(A.src)||/\.mov($|#|\?)/i.test(A.src)||/\.mp3($|#|\?)/i.test(A.src)
||/\.rmvb($|#|\?)/i.test(A.src)||/\.mid($|#|\?)/i.test(A.src)
实际上,用 ||/\.(rmvb|mpg|asf|wmv|avi|mov|mid)($|#|\?)/i.test(A.src) 这种形式比较简单。 文件格式可以根据情况来修改,但是注意要和其他的几个地方吻合
二、打开/editor/dialog/fck_flash/fck_flash.js
1、增加程序代码,这段代码用来判断后缀名
function WinPlayer(url){ var r, re; re = /.(avi|wmv|asf|wma|mid|mp3|mpg)$/i; r = url.match(re); return r; }
function RealPlayer(url){ var r, re; re = /.(.rm|.ra|.rmvb|ram)$/i; r = url.match(re); return r; }
function QuickTime(url){ var r, re; re = /.(mov|qt)$/i; r = url.match(re); return r; }
function FlashPlayer(url){ var r, re; re = /.swf$/i; r = url.match(re); return r; }
2、替换程序代码,这段代码是在UpdatePreview中用来添加type属性
SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
为
if(WinPlayer(GetE('txtUrl').value)!=null){ SetAttribute( e, 'type', 'application/x-mplayer2' ) ; } if(RealPlayer(GetE('txtUrl').value)!=null){ SetAttribute( e, 'type', 'audio/x-pn-realaudio-plugin' ) ; } if(QuickTime(GetE('txtUrl').value)!=null){ SetAttribute( e, 'type', 'application/video/quicktime' ) ; } if(FlashPlayer(GetE('txtUrl').value)!=null){ SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ; SetAttribute( e, 'pluginspage', 'http://www.macromedia.com/go/getflashplayer' ) ; }
3、替换程序代码,这段代码是在UpdateEmbed中用来添加type属性
SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ; SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;
为
if(WinPlayer(GetE('txtUrl').value)!=null){ SetAttribute( e, 'type' , 'application/x-mplayer2' ) ; SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ; } if(RealPlayer(GetE('txtUrl').value)!=null){ SetAttribute( e, 'type' , 'audio/x-pn-realaudio-plugin' ) ; SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ; } if(QuickTime(GetE('txtUrl').value)!=null){ SetAttribute( e, 'type' , 'video/quicktime' ) ; SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ; } if(FlashPlayer(GetE('txtUrl').value)!=null){ SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ; SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ; }
三、打开/fckconfig.js,该文件为配置文件
替换程序代码,这个是在上传文件的时候检查后缀名
FCKConfig.FlashUploadAllowedExtensions = ".(swf)$" ; // empty for all
为
FCKConfig.FlashUploadAllowedExtensions = ".(swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid)$" ; // empty for all
三、打开/editor/lang/zh-cn.js 文件,该部分为语言文件,"Flash"替换掉就可以了
然后整体修改完成,现在已经支持上传视频和音频文件,不过注意的是,如果视频文件太大,还是可能出现不能播放的情况
参考地址:http://www.wilf.cn/post/550.html --------------------------------------------- fck的参数设置说明: http://java.fckeditor.net/properties.html
原文还差一步:
还需要在java后台端的fckeditor.properties文件里加上:
connector.resourceType.flash.extensions.allowed=swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid
否则后台会检查后缀,不让上传文件。 ------------------------------------------------
|