转:修改Fckeditor 2.6 增加插入Mp3等多媒体文件功能
由于Fckeditor 2.6的代码有很多变动,原来的Fckeditor 2.5下的插入多媒体的代码需要调整,步骤如下:
一、分别打开: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) |
文件格式可以根据情况来修改,但是注意要和其他的几个地方吻合
二、打开/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/filemanager/connectors/asp/config.asp文件
查找:
ConfigAllowedExtensions.Add "Flash", "swf|flv"
替换为:
ConfigAllowedExtensions.Add "Flash", "swf|flv|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|rm|mid"
四、打开/editor/lang/zh-cn.js 文件,该部分为语言文件,将相关"插入/编辑 Flash"替换为“插入/编辑 多媒体" 就可以了
好了,现在可以直接通过原来的插入flash的功能来插入各种类型的多媒体文件了!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步