日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

解决百度富文本编辑器Ueditor自定义上传视频封面

發布時間:2024/8/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决百度富文本编辑器Ueditor自定义上传视频封面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

版權聲明:遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
原文出處鏈接:https://blog.csdn.net/m0_37826725/article/details/99094029

原文處作者留了一個不明顯的巨坑,所以再此處修改一下。原文處的"onclick" 不要復制

思路就是:選中上傳的視頻-點擊上傳封面-調用ueditor內部的圖片上傳-更改保存的html內容-更改顯示的背景圖

首先說明是要更改源碼的!!!!

我是在ueditor.config.js里面沒有xss過濾白名單的情況下完成下面的操作的。這個東西可以不要,可以直接把whitList這個節點注釋掉。

全是在ueditor.all.js里面改的源碼

第一步:增加添加封面的按鈕

搜索popup.formatHtml(str)代碼把str賦值的內容替換成下面內容

var coverButton = ""; if (dialogName == "insertvideoDialog") {coverButton = "&nbsp;&nbsp;" +'<span onclick=$$._onImgCoverEditButtonClick(\'' +dialogName +'\') class="edui-clickable"><input id="coverImgUrl" style="display:none;" type="file" />添加封面' +"</span>"; } str = '<nobr>' + editor.getLang("property") + ': '+'<span onclick=$$._onImgSetFloat("none") class="edui-clickable">' + editor.getLang("default") + '</span>&nbsp;&nbsp;' +'<span onclick=$$._onImgSetFloat("left") class="edui-clickable">' + editor.getLang("justifyleft") + '</span>&nbsp;&nbsp;' +'<span onclick=$$._onImgSetFloat("right") class="edui-clickable">' + editor.getLang("justifyright") + '</span>&nbsp;&nbsp;' +'<span onclick=$$._onImgSetFloat("center") class="edui-clickable">' + editor.getLang("justifycenter") + '</span>&nbsp;&nbsp;'+'<span onclick="$$._onImgEditButtonClick(\'' + dialogName + '\');" class="edui-clickable">' + editor.getLang("modify") + '</span>'+coverButton + '</nobr>';

這樣寫是因為只是視頻會顯示添加封面的按鈕。

第二步,添加按鈕的點擊事件,搜索var popup = new baidu.editor.ui.Popup({

在下面方法中增加一個方法_onImgCoverEditButtonClick,就是上面增加添加封面按鈕的點擊事件的方法。

我會把baidu.editor.ui.Popup這個里面的內容全部貼出來可以全部替換。

var popup = new baidu.editor.ui.Popup({editor: editor,content: "",className: "edui-bubble",_onEditButtonClick: function() {this.hide();editor.ui._dialogs.linkDialog.open();},_onImgEditButtonClick: function(name) {this.hide();editor.ui._dialogs[name] && editor.ui._dialogs[name].open();},_onImgCoverEditButtonClick: function (name) {//this.hide();imgsCover = editor.ui._dialogs[name];editor.ready(function () {editor.addListener("beforeInsertImage", _coverInsertImage);});var urlcover = editor.getDialog("insertimage");urlcover.title = '視頻封面';urlcover.render();urlcover.open();},_onImgSetFloat: function(value) {this.hide();editor.execCommand("imagefloat", value);},_setIframeAlign: function(value) {var frame = popup.anchorEl;var newFrame = frame.cloneNode(true);switch (value) {case -2:newFrame.setAttribute("align", "");break;case -1:newFrame.setAttribute("align", "left");break;case 1:newFrame.setAttribute("align", "right");break;}frame.parentNode.insertBefore(newFrame, frame);domUtils.remove(frame);popup.anchorEl = newFrame;popup.showAnchor(popup.anchorEl);},_updateIframe: function() {var frame = editor._iframe = popup.anchorEl;if (domUtils.hasClass(frame, "ueditor_baidumap")) {editor.selection.getRange().selectNode(frame).select();editor.ui._dialogs.mapDialog.open();popup.hide();} else {editor.ui._dialogs.insertframeDialog.open();popup.hide();}},_onRemoveButtonClick: function(cmdName) {editor.execCommand(cmdName);this.hide();},queryAutoHide: function(el) {if (el && el.ownerDocument == editor.document) {if (el.tagName.toLowerCase() == "img" || domUtils.findParentByTagName(el, "a", true)) {return el !== popup.anchorEl;}}return baidu.editor.ui.Popup.prototype.queryAutoHide.call(this, el);}});

在文件開頭(function() {下面聲明變量存放數據用

var imgCover = {}; var imgsCover = {}, posteres;

在if (editor.options.imagePopup)這個if語句下面增加一個處理上傳視頻封面的方法

// 視頻封面上傳動作 function _coverInsertImage(t, result) {var imageHtml = '';for (var i in result) {posteres = imageHtml = result[i].src;}var img = imgsCover.editor.selection.getRange().getClosedNode(), url;url = img.getAttribute("_url");var align;utils.each(imgCover.getNodesByTagName("embed video"),function (node) {align = node.getStyle("float") || "";});editor.execCommand('insertvideo', {url: url + "+" + imageHtml,width: img.width,height: img.height,align: align}, 'upload'); }

修改creatInsertStr 我貼出這個方法的代碼

/*** 創建插入視頻字符竄* @param url 視頻地址* @param width 視頻寬度* @param height 視頻高度* @param align 視頻對齊* @param toEmbed 是否以flash代替顯示* @param addParagraph 是否需要添加P 標簽*/ function creatInsertStr(url, width, height, id, align, classname, type, poster) {var str;switch (type) {case "image":str = "<img " +(id ? 'id="' + id + '"' : "") +' width="' +width +'" height="' +height +'" _url="' +url +'" class="' +classname.replace(/\bvideo-js\b/, "") +'"' +' src="' +poster +'" style="background:url(' +poster +") no-repeat center center; border:1px solid gray;" +(align ? "float:" + align + ";" : "") +'" />';break;case "embed":str = '<embed type="application/x-shockwave-flash" class="' +classname +'" pluginspage="http://www.macromedia.com/go/getflashplayer"' +' src="' +utils.html(url) +'" width="' +width +'" height="' +height +'"' +(align ? ' style="float:' + align + '"' : "") +' wmode="transparent" play="true" loop="false" menu="false" allowscriptaccess="never" allowfullscreen="true" >';break;case "video":var ext = url.substr(url.lastIndexOf(".") + 1);if (ext == "ogv") ext = "ogg";str = "<video" +(id ? ' id="' + id + '"' : "") +' class="' +classname +' video-js" ' +(align ? ' style="float:' + align + '"' : "") +' controls poster="' +poster +'" preload="none" width="' +width +'" height="' +height +'" src="' +url +'" data-setup="{}">' +'<source src="' +url +'" type="video/' +ext +'" /></video>';break;}return str; }

修改switchImgAndVideo 我貼出這個方法的代碼

function switchImgAndVideo(root, img2video) {imgCover = root;utils.each(root.getNodesByTagName(img2video ? "img" : "embed video"),function (node) {var className = node.getAttr("class");var _urles = node.getAttr("_url");posteres = node.attrs.poster;if (typeof (node.getAttr("_url")) != "undefined") {if (node.getAttr("_url").indexOf("+") != -1) {var _urlsposters = node.getAttr("_url").split("+");_urles = _urlsposters[0];posteres = _urlsposters[1];}}if (img2video) {posteres = node.getAttr("src");}if (className && className.indexOf("edui-faked-video") != -1) {var html = creatInsertStr(img2video ? node.getAttr("_url") : node.getAttr("src"),node.getAttr("width"),node.getAttr("height"),null,node.getStyle("float") || "",className,img2video ? "embed" : "image");node.parentNode.replaceChild(UE.uNode.createElement(html), node);}if (className && className.indexOf("edui-upload-video") != -1) {var html = creatInsertStr(img2video ? _urles : node.getAttr("src"),node.getAttr("width"),node.getAttr("height"),null,node.getStyle("float") || "",className,img2video ? "video" : "image", posteres);node.parentNode.replaceChild(UE.uNode.createElement(html), node);}}); }

最后在搜索這個me.commands[“insertvideo”] = {下面for循環里面這一句替換一下

html.push(creatInsertStr(vi.url, vi.width || 420, vi.height || 280, id + i, null, cl, "image", posteres));

總結

以上是生活随笔為你收集整理的解决百度富文本编辑器Ueditor自定义上传视频封面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一级在线 | 欧美综合社区 | 999色综合 | 亚洲a精品| 污片网站| av中字在线| 国产一级大片在线观看 | 樱花视频在线观看 | 精品三级视频 | 狠狠狠狠狠狠狠 | 欧美日韩在线观看视频 | 韩日黄色片 | 久久逼逼 | 一级片a级片 | 手机在线看片1024 | 中文字幕亚洲高清 | 色欲色香天天天综合网www | 欧美性粗暴 | 成人激情文学 | 亚洲天堂一区二区三区四区 | 琪琪射| 亚洲不卡视频在线观看 | 亚洲影院在线观看 | 中文字幕av在线免费观看 | 在线观看日本 | 婷婷六月综合 | 国产肥白大熟妇bbbb视频 | 一级黄色播放 | 夜夜夜夜爽 | 色综综 | 国产精品亚洲二区 | 日本免费色| 国产精品无码一区二区无人区多人 | 欧美揉bbbbb揉bbbbb| 免费特级黄毛片 | 韩国成人理伦片免费播放 | 四虎在线免费观看视频 | 欧美三级韩国三级日本三斤 | 影音先锋丝袜美腿 | 日韩精品一区三区 | 久久久久久久久久影视 | 欧美人与禽zozzo性之恋的特点 | 色综合综合| 一级片高清 | 欧美黑人猛交 | 国产精品人人做人人爽人人添 | 国产综合在线视频 | 91黄色在线视频 | 神秘马戏团在线观看免费高清中文 | av噜噜在线| 日韩在线视屏 | 日韩少妇内射免费播放 | 黄色大片免费网站 | 无码播放一区二区三区 | 国产精品视频一区二区三区不卡 | www夜色| 无人在线观看高清视频 单曲 | 少妇一级淫片免费放播放 | 国产欧美日韩综合精品一区 | 人与禽一级全黄 | 久久青草免费视频 | 免费毛片av | 一区二区三区视频在线免费观看 | 人妻一区二区三区四区 | 有码av在线 | 日本一区二区三区欧美 | 九九热精品在线 | 日韩另类视频 | 国产精品三级 | 日韩欧美精品中文字幕 | 日本性生活一级片 | 狠狠v欧美v日韩v亚洲ⅴ | 狠狠综合网 | 国产精品人成在线观看免费 | 天海翼视频在线观看 | 人人澡人人澡 | 久草视频精品 | 国产日韩欧美另类 | 日韩久久精品视频 | 黄a在线| 久久精选| 日日摸日日添日日躁av | 天天色成人 | 老熟妇午夜毛片一区二区三区 | 日韩欧美一级二级 | 蜜桃精品视频在线 | 蜜臀网在线 | a级片中文字幕 | 色屁屁一区二区三区视频 | 秋霞中文字幕 | 韩国av一区二区 | 久久天堂av综合合色蜜桃网 | 激情六月 | 刘亦菲毛片 | 国产精品久久久免费观看 | 欧美一区二区三区在线观看视频 | 激情 亚洲 | www噜噜噜| 九色精品 |