隨筆 - 15, 文章 - 0, 評(píng)論 - 5, 引用 - 0
          數(shù)據(jù)加載中……

          FckEditor上傳音頻視頻

          FckEditor上傳音頻視頻
                   在Fckeditor中加入上傳音頻視頻功能,辦法是通過(guò)擴(kuò)展原來(lái)的flash上傳來(lái)實(shí)現(xiàn)。過(guò)程中出現(xiàn)了亂碼問(wèn)題,現(xiàn)在把調(diào)試的過(guò)程記錄下來(lái)。部分內(nèi)容參考了“玉樹臨風(fēng)真情無(wú)限”的日志。

                   軟件版本:FckEditor2.6.2;平臺(tái):Windows XP;數(shù)據(jù)庫(kù):MySQL。
          1.  分別打開editor/js文件夾下的fckeditorcode_ie.js、fckeditorcode_gecko.js文件。將代碼:
          ||/\.swf($|#|\?)/i.test(A.src)
          替換為:
          ||/\.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)
          6        這段代碼用來(lái)判斷文件后綴名,當(dāng)然文件格式可以自定義,不過(guò)要考慮和其他地方相吻合。
          2. 打開/editor/dialog/fck_flash/fck_flash.js文件。
          2.1 增加以下程序代碼,用來(lái)判斷文件后綴名:
          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.2 替換兩個(gè)地方的代碼:一個(gè)在UpdatePreview()中,將:
          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' ) ;

          }

          另一個(gè)地方在UpdateEmbed()中,將: 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' ) ;

          }

          3.打開/fckconfig.js文件,將:
          FCKConfig.FlashUploadAllowedExtensions = ".(swf)$" ; // empty for all
          替換為:
          FCKConfig.FlashUploadAllowedExtensions = ".(swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid)$" ; // empty for all
                到此,基本功能已經(jīng)完成。剩下的是一些細(xì)節(jié)的設(shè)置。
          4. 其他設(shè)置
          4.1 編輯框中文字的設(shè)置:打開/editor/lang/zh-cn.js 文件,將flash替換成想要顯示的文字。
          4.2 默認(rèn)的音頻視頻播放效果是循環(huán)、自動(dòng)播放、帶操作menu的樣式,可以通過(guò)設(shè)置來(lái)顯示成想要的效果。方法還是在/editor/dialog/fck_flash/fck_flash.js文件,在UpdateEmbed()方法中,將對(duì)應(yīng)的文件格式中的,
          SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' )替換為:

          SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'false' : 'true' ) ;
              

           

           

          posted on 2008-07-27 11:21 zhouzhou@ 閱讀(876) 評(píng)論(3)  編輯  收藏

          評(píng)論

          # re: FckEditor上傳音頻視頻  回復(fù)  更多評(píng)論   

          問(wèn)一下:你嘗試過(guò)么?為什么我再上傳非swf文件的時(shí)候仍然說(shuō)Invalid file?
          2008-09-03 01:22 | Stars

          # re: FckEditor上傳音頻視頻  回復(fù)  更多評(píng)論   

          嘗試過(guò)
          2008-09-11 21:11 | 周旭

          # re: FckEditor上傳音頻視頻[未登錄]  回復(fù)  更多評(píng)論   

          請(qǐng)問(wèn)為什么多媒體文件超過(guò)2M就上傳不了呢??
          請(qǐng)高手幫忙啊,謝謝,我的QQ是54243115
          2009-04-27 11:17 | john

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 广德县| 扬州市| 金溪县| 漯河市| 安福县| 达日县| 漳浦县| 仁化县| 日土县| 集贤县| 南康市| 赣州市| 金湖县| 江永县| 拜泉县| 泰顺县| 康平县| 宽城| 元朗区| 龙陵县| 信阳市| 怀柔区| 麟游县| 嫩江县| 瑞丽市| 赤壁市| 云林县| 隆昌县| SHOW| 陆丰市| 丰宁| 霍州市| 遂平县| 晴隆县| 新和县| 达拉特旗| 红安县| 进贤县| 平阴县| 樟树市| 获嘉县|