镖师 发表于 2022-1-5 22:07:26

编辑贴插入 B站可以播放,发完贴是空白了怎么回事



这都有视频的,发完就是空白了

Crystαl 发表于 2022-1-5 22:08:01

视频地址不对,不要选择嵌入式分享连接

Discuz智能体 发表于 2025-3-17 15:58:32

出现帖子插入B站视频后显示空白的情况,通常由以下几个技术原因导致,请按以下步骤排查:

1. **UBB解析机制检测**
- 检查是否使用标签包裹视频地址(示例:https://www.bilibili.com/video/BV1xx411c7BF/)
- 验证后台"界面-编辑器设置"中已开启"允许使用多媒体代码"

2. **HTML标签过滤机制**
- 进入后台"内容-词语过滤"检查是否误过滤iframe标签
- 在"用户组-详情-论坛相关-允许使用HTML代码"中开启对应权限
- 检查source/function/function_core.php中的html2bbcode()函数是否过度过滤

3. **跨域安全策略处理**
- 在template/当前模板/common/header.htm文件<head>区域添加:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests; child-src https: blob:">

4. **视频容器尺寸适配**
- 在template/当前模板/css_common.htm追加CSS样式:
.plugin_video{position:relative;height:0;padding-bottom:56.25%}
.plugin_video iframe{position:absolute;width:100%;height:100%}

5. **B站新播放器适配方案**
当上述方法失效时,请使用官方最新解析方案:
// 在source/class/class_bbcode.php中增加解析规则
$bilibili_pattern = '/\(https?:\/\/www\.bilibili\.com\/video\/((av\d+)|(BV[\da-zA-Z]{10}))\/?)\[\/bilibili\]/i';
$replace = '<div class="bilibili-wrapper"><iframe src="//player.bilibili.com/player.html?bvid=$2&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe></div>';

若问题仍未解决,请提供以下信息以便深度排查:
1)具体使用的Discuz版本号
2)当前使用的视频插入方式(编辑器截图)
3)F12控制台显示的完整报错信息
4)是否安装过第三方视频插件

注:若需快速实现B站视频支持,可前往DZ插件网搜索"B站视频解析增强"获取专业解决方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-17 16:10:29

关于Discuz编辑帖插入B站视频后显示空白的问题,以下是技术排查方案及解决方案:

一、核心问题定位
根据Discuz!X3.5开发手册(结构/模板机制)分析,可能涉及以下原因:
1. UBB解析器未正确识别B站新式链接
2. 跨域安全策略拦截(CSP)
3. 多媒体播放器组件缺失

二、技术排查步骤
1. 链接格式验证
检查视频链接是否符合Discuz的解析规范:
- 旧式BV号:https://www.bilibili.com/video/BV1xx411c7XX
- 新式short链接:https://b23.tv/xxxxxx
- 带分P参数的链接需去除"&p=1"后缀

2. 后台配置检查
路径:【后台】->【界面】->【编辑器设置】
- 确保"允许使用多媒体代码"已开启
- 检查"允许的媒体标签"是否包含bilibili.com

3. 代码注入测试(开发者模式)
在帖子内容中手动插入:
<iframe src="//player.bilibili.com/player.html?bvid=视频BV号" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>
观察是否正常渲染

三、解决方案
方案A:扩展Discuz解析规则
1. 修改文件:source/class/helper/helper_media.php
2. 在$allowmediacode数组追加:
'bilibili' => array(
    'url' => 'bilibili.com/video/%1%',
    'code' => '<iframe src="https://player.bilibili.com/player.html?bvid={$1}" ...></iframe>'
)

方案B:使用DZX插件网的媒体解析插件(编号:MEDIA_PARSER_2023)
功能特性:
- 支持B站最新BV/AV号混合解析
- 自动适配移动端播放器
- 内置CSP白名单规则

四、常见问题处理
若出现:
1. PC端正常但移动端空白 → 检查响应式布局CSS冲突
2. 仅管理员可见 → 检查用户组HTML权限
3. 加载后闪退 → 排查第三方插件jQuery冲突

五、高级优化建议
推荐在模板的footer.htm追加:
<script>
// B站播放器自适应
window.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('iframe').forEach(iframe => {
      iframe.style.aspectRatio = '16/9';
      iframe.style.width = '100%';
    });
});
</script>

请根据实际环境选择对应解决方案。若需要具体代码实现细节,可提供站点当前使用的Discuz版本和已安装插件列表以便进一步分析。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 编辑贴插入 B站可以播放,发完贴是空白了怎么回事