kindeditor是一款不錯的可視化編輯器,不過最近幾年似乎沒在更新,現在h5趨於主流,正好有個業務需要編輯器支持mp4視頻的播放,考慮到現在h5中的video標簽的強大,於是決定將原來系統中的embed標記更改好video。具體操作方法如下:
1、在296行
embed : ['id', 'class', 'src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'],
下面增加以下代碼:
video : ['id', 'class', 'src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess','controls'],
修改后的效果如下圖:

2、在893-895行代碼段
if (/.(swf|flv)(?|$)/i.test(src)) {
return 'application/x-shockwave-flash';
}
下面增加以下代碼:
if (/.(mp4|mp5)(?|$)/i.test(src)) {
return 'video/mp4';
}

3、然后修改901-903行代碼
if (/flash/i.test(type)) {
return 'ke-flash';
}
在下面增加
if (/video/i.test(type)) {
return 'ke-video';
}
修改后的效果如下圖:

4、在917行代碼function _mediaImg(blankPath, attrs) {
在其上面增加代碼:
function _mediaVideo(attrs) {
var html = '<video '
_each(attrs, function(key, val) {
html += key + '="' + val + '" ';
});
html += ' controls="controls" />';
return html;
}

5、在955行代碼:K.mediaEmbed = _mediaEmbed;的下面
增加代碼 :K.mediaVideo = _mediaVideo;
好了,這樣當我們上傳視頻時,就會使用video標記來引用視頻了。取代以前的embed標簽 。不過,這里還有一個問題,就是上傳視頻后,編輯器中為空白的(其實已經上傳成功,切換到代碼模式也能看到有內容)。使用chrome調試,發現問題在樣式上。經過對比發現問題在這里:
之前使用embed標簽顯示視頻的效果:

所以我們增加樣式即可,找到3528行的代碼:'img.ke-media {',
將其修改為'img.ke-media,img.ke-video {',
這句話的含義就是ke-video樣式與ke-media一樣。好了,文件修改好,清除瀏覽器緩存(也可以按ctr+f5),再次上傳視頻查看效果解決!


引用: http://www.totcms.com/html/201901-30/20190130094548.htm
