2019独角兽企业重金招聘Python工程师标准>>> hot3.png

本文转载

在FCKeditor 2.6中添加插入视频和音频功能

这里有两种方式,一是自己修改,二是使用插件

1.自己修改

FCKeditor 是现在用的最多的可视编辑器,乐乎也是使用了该编辑器,应大家的要求,添加了插入视频和音频的功能,因为2.6版的修改可能和其他版本不一样,所以我把修改的地方列举出来,格式我是看到网上有位同志的格式很好,照抄的,内容已经修改

修改前注意备份文件,以免造成不必要的麻烦。

一、分别打开:editor/js/fckeditorcode_ie.js和/editor/js/fckeditorcode_gecko.js

找到程序代码
以下是代码片段:

Js代码 
  1. ||//.swf($|#|/?)/i.test(A.src)
Js代码 
  1. ||//.swf($|#|/?)/i.test(A.src)

这段代码的主要用来判断后缀名,如果后缀名不是swf则返回,把它替换为:

以下是代码片段:

Js代码 
  1. ||//.swf($|#|/?)/i.test(A.src)||//.mpg($|#|/?)/i.test(A.src)
  2. ||//.asf($|#|/?)/i.test(A.src)||//.wma($|#|/?)/i.test(A.src)
  3. ||//.wmv($|#|/?)/i.test(A.src)||//.avi($|#|/?)/i.test(A.src)
  4. ||//.mov($|#|/?)/i.test(A.src)||//.mp3($|#|/?)/i.test(A.src)
  5. ||//.rmvb($|#|/?)/i.test(A.src)||//.mid($|#|/?)/i.test(A.src)
Js代码 
  1. ||//.swf($|#|/?)/i.test(A.src)||//.mpg($|#|/?)/i.test(A.src)
  2. ||//.asf($|#|/?)/i.test(A.src)||//.wma($|#|/?)/i.test(A.src)
  3. ||//.wmv($|#|/?)/i.test(A.src)||//.avi($|#|/?)/i.test(A.src)
  4. ||//.mov($|#|/?)/i.test(A.src)||//.mp3($|#|/?)/i.test(A.src)
  5. ||//.rmvb($|#|/?)/i.test(A.src)||//.mid($|#|/?)/i.test(A.src)

文件格式可以根据情况来修改,但是注意要和其他的几个地方吻合

二、打开/editor/dialog/fck_flash/fck_flash.js
1、增加程序代码,这段代码用来判断后缀名

Js代码 
  1. function WinPlayer(url){
  2. var r, re;
  3. re = /.(avi|wmv|asf|wma|mid|mp3|mpg)$/i;
  4. r = url.match(re);
  5. return r;
  6. }
  7. function RealPlayer(url){
  8. var r, re;
  9. re = /.(.rm|.ra|.rmvb|ram)$/i;
  10. r = url.match(re);
  11. return r;
  12. }
  13. function QuickTime(url){
  14. var r, re;
  15. re = /.(mov|qt)$/i;
  16. r = url.match(re);
  17. return r;
  18. }
  19. function FlashPlayer(url){
  20. var r, re;
  21. re = /.swf$/i;
  22. r = url.match(re);
  23. return r;
  24. }
Js代码 
  1. function WinPlayer(url){
  2. var r, re;
  3. re = /.(avi|wmv|asf|wma|mid|mp3|mpg)$/i;
  4. r = url.match(re);
  5. return r;
  6. }
  7. function RealPlayer(url){
  8. var r, re;
  9. re = /.(.rm|.ra|.rmvb|ram)$/i;
  10. r = url.match(re);
  11. return r;
  12. }
  13. function QuickTime(url){
  14. var r, re;
  15. re = /.(mov|qt)$/i;
  16. r = url.match(re);
  17. return r;
  18. }
  19. function FlashPlayer(url){
  20. var r, re;
  21. re = /.swf$/i;
  22. r = url.match(re);
  23. return r;
  24. }
以下是代码片段:

2、替换程序代码,这段代码是在UpdatePreview中用来添加type属性
以下是代码片段:

Js代码 
  1. SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
Js代码 
  1. SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;

Js代码 
  1. if(WinPlayer(GetE('txtUrl').value)!=null){
  2. SetAttribute( e, 'type', 'application/x-mplayer2' ) ;
  3. }
  4. if(RealPlayer(GetE('txtUrl').value)!=null){
  5. SetAttribute( e, 'type', 'audio/x-pn-realaudio-plugin' ) ;
  6. }
  7. if(QuickTime(GetE('txtUrl').value)!=null){
  8. SetAttribute( e, 'type', 'application/video/quicktime' ) ;
  9. }
  10. if(FlashPlayer(GetE('txtUrl').value)!=null){
  11. SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
  12. SetAttribute( e, 'pluginspage', 'http://www.macromedia.com/go/getflashplayer ' ) ;
  13. }
Js代码 
  1. if(WinPlayer(GetE('txtUrl').value)!=null){
  2. SetAttribute( e, 'type', 'application/x-mplayer2' ) ;
  3. }
  4. if(RealPlayer(GetE('txtUrl').value)!=null){
  5. SetAttribute( e, 'type', 'audio/x-pn-realaudio-plugin' ) ;
  6. }
  7. if(QuickTime(GetE('txtUrl').value)!=null){
  8. SetAttribute( e, 'type', 'application/video/quicktime' ) ;
  9. }
  10. if(FlashPlayer(GetE('txtUrl').value)!=null){
  11. SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
  12. SetAttribute( e, 'pluginspage', 'http://www.macromedia.com/go/getflashplayer ' ) ;
  13. }
以下是代码片段:
3、替换程序代码,这段代码是在UpdateEmbed中用来添加type属性
Js代码 
  1. SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;
  2. SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer ' ) ;
Js代码 
  1. SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;
  2. SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer ' ) ;
以下是代码片段:

Js代码 
  1. if(WinPlayer(GetE('txtUrl').value)!=null){
  2. SetAttribute( e, 'type' , 'application/x-mplayer2' ) ;
  3. SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
  4. }
  5. if(RealPlayer(GetE('txtUrl').value)!=null){
  6. SetAttribute( e, 'type' , 'audio/x-pn-realaudio-plugin' ) ;
  7. SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
  8. }
  9. if(QuickTime(GetE('txtUrl').value)!=null){
  10. SetAttribute( e, 'type' , 'video/quicktime' ) ;
  11. SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
  12. }
  13. if(FlashPlayer(GetE('txtUrl').value)!=null){
  14. SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;
  15. SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer ' ) ;
  16. }
Js代码 
  1. if(WinPlayer(GetE('txtUrl').value)!=null){
  2. SetAttribute( e, 'type' , 'application/x-mplayer2' ) ;
  3. SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
  4. }
  5. if(RealPlayer(GetE('txtUrl').value)!=null){
  6. SetAttribute( e, 'type' , 'audio/x-pn-realaudio-plugin' ) ;
  7. SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
  8. }
  9. if(QuickTime(GetE('txtUrl').value)!=null){
  10. SetAttribute( e, 'type' , 'video/quicktime' ) ;
  11. SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
  12. }
  13. if(FlashPlayer(GetE('txtUrl').value)!=null){
  14. SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;
  15. SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer ' ) ;
  16. }
以下是代码片段:

三、打开/fckconfig.js,该文件为配置文件

替换程序代码,这个是在上传文件的时候检查后缀名

以下是代码片段:

Js代码 
  1. FCKConfig.FlashUploadAllowedExtensions = ".(swf)$" ; // empty for all
Js代码 
  1. FCKConfig.FlashUploadAllowedExtensions = ".(swf)$" ; // empty for all

以下是代码片段:

Js代码 
  1. FCKConfig.FlashUploadAllowedExtensions
  2. = ".(swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid)$" ; // empty for all
Js代码 
  1. FCKConfig.FlashUploadAllowedExtensions
  2. = ".(swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid)$" ; // empty for all

三、打开/editor/lang/zh-cn.js 文件,该部分为语言文件,Flash替换掉就可以了

然后整体修改完成,现在lehu已经支持上传视频和音频文件,不过注意的是,如果视频文件太大,还是可能出现不能播放的情况

四、还需要在fckeditor.properties文件里加上(使用fckeditor2.6.3,fckeditor-java2.4)

Java代码 
  1. connector.resourceType.flash.extensions.allowed
  2. = swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid
Java代码 
  1. connector.resourceType.flash.extensions.allowed
  2. = swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid
2.插件 
这里介绍一个FCK的插件,多媒体插件,支持Windows Media,Real,QuickTime,Flash,
Shockwave,完全可以替换FCK自带的flash插入功能。
前段时间在发过一篇《利用Fckeditor插入MP3或视频文件》,是通过修改FCK的Flash插入实现插入多媒体的,和这里的插件原理是一样的。
插件的具体使用方法如下:
1、解压文件到 FCKeditor/editor/plugins,命名为Media
- 隐藏引用文字 -
2、修改配置文件 FCKeditor/fckconfig.js ,包括启用插件和添加按钮。
JavaScript代码

Js代码 
  1. FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;         //找到这一句,配置插件路径
  2. FCKConfig.Plugins.Add( 'Media', 'en,zh,zh-cn' ) ;  //启用插件
  3. …………  //中间代码省略
  4. FCKConfig.ToolbarSets["Default"] = [
  5. ['Source','Templates'],
  6. ['FontName','FontSize'],
  7. ['TextColor','BGColor'],
  8. ['Image','Flash'],  //可以用Media替换Flash
  9. ['Table','Rule'],
  10. ['FitWindow','ShowBlocks'],
  11. ['Smiley','SpecialChar','Media'], //或者加入Media按钮
  12. '/',
  13. ['PasteText','PasteWord','RemoveFormat'],
  14. ['Undo','Redo','Find','Replace'],
  15. ['Bold','Italic','Underline','StrikeThrough'],
  16. ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
  17. ['JustifyLeft','JustifyCenter','JustifyRight'],
  18. ['Anchor','Link','Unlink'] //我的按钮的配置,可能和你的不太一样
  19. ] ;
Js代码 
  1. FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;         //找到这一句,配置插件路径
  2. FCKConfig.Plugins.Add( 'Media', 'en,zh,zh-cn' ) ;  //启用插件
  3. …………  //中间代码省略
  4. FCKConfig.ToolbarSets["Default"] = [
  5. ['Source','Templates'],
  6. ['FontName','FontSize'],
  7. ['TextColor','BGColor'],
  8. ['Image','Flash'],  //可以用Media替换Flash
  9. ['Table','Rule'],
  10. ['FitWindow','ShowBlocks'],
  11. ['Smiley','SpecialChar','Media'], //或者加入Media按钮
  12. '/',
  13. ['PasteText','PasteWord','RemoveFormat'],
  14. ['Undo','Redo','Find','Replace'],
  15. ['Bold','Italic','Underline','StrikeThrough'],
  16. ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
  17. ['JustifyLeft','JustifyCenter','JustifyRight'],
  18. ['Anchor','Link','Unlink'] //我的按钮的配置,可能和你的不太一样
  19. ] ;

找到类似代码添加如下内容

Js代码 
  1. FCKConfig.MediaUpload = true ;
  2. FCKConfig.MediaUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' +
  3. _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Media' ;
  4. FCKConfig.MediaUploadAllowedExtensions = ".(avi|asf)$" ;  // empty for all
  5. FCKConfig.MediaUploadDeniedExtensions = "" ;       // empty for no one
Js代码 
  1. FCKConfig.MediaUpload = true ;
  2. FCKConfig.MediaUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' +
  3. _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Media' ;
  4. FCKConfig.MediaUploadAllowedExtensions = ".(avi|asf)$" ;  // empty for all
  5. FCKConfig.MediaUploadDeniedExtensions = "" ;       // empty for no one

下载地址: http://dev.fckeditor.net/ticket/382

转载于:https://my.oschina.net/xiaohelong/blog/366905

在FCKeditor 2.6中添加插入视频和音频功能相关推荐

  1. 在FCKeditor 2.6中添加插入视频和音频功能(最新修订版)

    修改前注意备份文件,以免造成不必要的麻烦. 一.分别打开:editor/js/fckeditorcode_ie.js和/editor/js/fckeditorcode_gecko.js 找到程序代码 ...

  2. Markdown中如何插入视频 iframe?

    关于Markdown中如何插入视频这一问题   网上众说纷纭,一直也没找到一个确切的答案,想来也是,这些东西毕竟还不算成熟.各种以前提供过的方法现在来讲,可能在更新或是关闭大潮中又没了   而且,Ma ...

  3. 关于mavon-editor中iframe 的使用 和插入视频、音频的记录

    一.问题 我想将视频.音频运用外链的形式iframe插入自己的博客文章中,节约服务器资源 插入后mavon-editor预览区不显示,没有解析出来 二. 解决 搞了三四天,在mavon-editor官 ...

  4. 关于在软件中添加扫描二维码功能的详细步骤及对应的资源。

    最近有在一款软件中添加二维码扫描功能,在网上整理了一堆资源后,把一些干货拿出来给大家分享,希望大家以后能更容易的使用这个功能. 详细步骤见这个视频连接:http://www.jikexueyuan.c ...

  5. java怎么在页面插入视频,如何在博客园中插入视频、音频、网页

    相信很多人都有这样的经历,当我们想在博客中插入视频.音频或者其他网页时,往往效果并不是我们想要的,因此分享一个小技巧: 1. iframe 是HTML语言的一个标签,标签定义了一个内联框架,这个内联框 ...

  6. android 设置视频音量大小,为cocos2d-x添加调节视频音量的功能(Android)

    为cocos2d-x添加调节视频音量的功能(Android). 日常吐槽cocos.我想放广告的时候播放一些其他声音,这时候我希望视频先静音,但是不停止播放.等声音播放完,我再放视频声音.赫然发现,V ...

  7. 微信在线客服 php,微信小程序中添加联系在线客服功能

    这次给大家带来微信小程序中添加联系在线客服功能,微信小程序中添加联系在线客服功能的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 普通客服按钮添加客服-联系我们 2. 悬浮客服按钮添加,图片自 ...

  8. html5网页中加入播放器,向网页中添加 HTML5 视频控件

    爱学习,爱生活,爱编程--希望能帮到你!更多>>> 如何开始使用 采用它的最基本形式,使用 HTML5  video 元素向网页中添加视频播放器是通过一行 HTML 完成的. 添加  ...

  9. 怎样在PDF文档中添加插入图片

    制作编辑文档的时候经常需要在文档中添加一些图片内容,这样可以使文档更生动.像word.ppt这些文档可以直接通过复制粘贴就可以了,那么编辑pdf文件的时候怎样在文件中插入图片呢? 方法/步骤 首先是需 ...

最新文章

  1. BZOJ 1867 [Noi1999]钉子和小球 DP
  2. Java黑皮书课后题第3章:*3.18(运输成本)一个运输公司使用下面的函数,根据运输重量(以磅为单位)来计算运输成本(美元为单位)。编写程序,提示用户输入包裹重量,显示运输成本
  3. 树的宽度 递归法和非递归法
  4. 关于堆空间溢出的错误解决办法
  5. 【Python基础知识-pycharm版】第八节-面向对象编程/类
  6. java nio 对消息分片_Java NIO:应用
  7. java中的List排序[转]
  8. 2019-04-02
  9. FindWindowEx的应用
  10. SkyDrive和Google Drive比较
  11. Linux内核探索之路——关于方法
  12. 手机怎么用外嵌字幕_图片上添加字幕用手机怎么操作?
  13. 前端工程师如何快速的Mac装机?学会这些技巧让你的装机速度提升至少1倍!!!
  14. 计算机上u盘打不开,u盘打不开怎么办,插在电脑上有显示,但是打不开?
  15. wordpress主题框架之Thematic介绍
  16. 彻底解决2440/2410触摸屏跳点以及抖动问题
  17. 支付机构客户备付金存管办法
  18. 人工智能(1)-样本空间、假设空间、版本空间
  19. 更改HTML提交按钮的名字
  20. mysql 中文模糊查询_解决mysql中文模糊查询问题的方法

热门文章

  1. 5G时代来临,高通如何让AI触手可及?
  2. 代数拓扑的数学方法正在变革脑科学
  3. Python 之父立 Flag:明年要把 Python 速度提高 2 倍!
  4. 我在大厂,下班了也戴着工牌
  5. 雷军写代码水平如何?
  6. 那些逃离互联网大厂的年轻人
  7. Python核心资料:Django+Scrapy+Hadoop+数据挖掘+机器学习+精选视频(免费领)
  8. 使用Kotlin打造Android路由框架-KRouter
  9. Zeppelin源码
  10. [HNOI2008]Cards