需要在百度编辑器内插入mp4,但总是被和谐。而且默认是embed,不支持手机查看。
白名单内增加了一部分标签,但还是不完善。
于是,新增一个按钮,直接插入拼接好的代码。
1. 页面新增一个input,可以选择或输入音视频的地址;
2. 后面在增加一个插入的按钮。
HTML代码:
<div class="layui-form-item">
<label class="layui-form-label">正文音视频</label>
<div class="layui-input-block" style="padding-right:90px;">
<input type="text" id="videourl" name="" value="" autocomplete="off" placeholder="请选择云视频" class="layui-input" style="padding-right:55px;">
<button type="button" class="layui-btn layui-btn-primary layui-btn-position ajax-iframe" data-width="800px" data-height="450px" style="padding-right:30px;"><i class="fa fa-cloud"></i> OSS音/视频</button>
<span class="insertVideoCode layui-btn layui-btn-primary layui-btn-position">插入</span>
</div>
</div>
3. 编辑器初始化代码:
<script>
UE.getEditor('editor',{
// initialFrameWidth :800,// 设置编辑器宽度
initialFrameHeight:800,// 设置编辑器高度
scaleEnabled:true
});
var editor= 'editor';
var uiName = 'ivideo';
UE.registerUI('button', function(editor, uiName) {
//注册按钮执行时的command命令,使用命令默认就会带有回退操作
editor.registerCommand(uiName, {
execCommand: function() {
//默认prompt
var videolurl = $('#videolurl').val();
if(videolurl == ''){
layer.msg('请先在文本框内输入视频地址');
}
else{
$('#videolurl').val('');
/*
//插入video代码,因为小窗播放的标签会被过滤,这里用kkkk来代替,前端页面在做替换。
//{:str_replace('class="playsinline"','webkit-playsinline="true" x5-playsinline="x5-playsinline" playsinline="true" ',$info.document)}
*/
this.execCommand('insertHtml', '<video src="'+videolurl+'" class="playsinline" controls="true" preload="auto" style="object-fit:fill;width:100%;max-width:760px;"></video>');
return true;
}
}
});
$('.insertVideoCode').click(function(){
editor.execCommand(uiName);
})
});
</script>
VIEW页面将class="playsinline" 替换为:webkit-playsinline="true" x5-playsinline="x5-playsinline" playsinline="true"
代码(php):
{:str_replace('class="playsinline"','webkit-playsinline="true" x5-playsinline="x5-playsinline" playsinline="true" ',$info.document)}
结束,记录一下!