zoukankan      html  css  js  c++  java
  • 转:修改Fckeditor 2.6 增加插入Mp3等多媒体文件功能

    修改Fckeditor 2.6 增加插入Mp3等多媒体文件功能  

    2009-07-11 14:19:20|  分类: asp.net相关|字号 订阅

     

    由于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的功能来插入各种类型的多媒体文件了!

  • 相关阅读:
    dblink && 视图 数据库二合一
    oracle mybatis 逆向工程 应当注意的问题
    关于使用vue搭建前后端分离的项目,部署过程遇到的问题
    详解vue静态资源打包中的坑与解决方案
    bootstarap table 分页导出 vue版
    react中两个控件不是父子关系该怎么传递消息或任意控件怎么传递消息
    虚拟DOM中key的作用
    修改Antd的List列表的单个数据行
    移动端开发如何关闭手机键盘
    在一行显示两个数据,左边的数据右对齐,右边的数据左对齐
  • 原文地址:https://www.cnblogs.com/ligui989/p/3406293.html
Copyright © 2011-2022 走看看