根据您的需求,调整Discuz手机版视频默认高度可按以下步骤操作:
1. **核心文件修改**(适用于X3.5版本)
定位到文件:
- source/function/function_discuzcode.php
复制代码
查找约**第1080行**附近代码:
- $width = addslashes($width);
复制代码
在该行上方插入手机端专用高度设定:
- if($_G['mobile'] && strpos($url, 'bilibili') === false) {
- $height = '200'; // 特别排除B站等特殊比例视频
- $width = '100%'; // 强制宽度自适应
- }
复制代码
2. **模板层优化**(增强移动端适配)
在手机模板文件:
- template/default/touch/forum/discuzcode.htm
复制代码
定位到视频容器CSS,增加:
- .video-container {
- aspect-ratio: 16/9; /* 按主流视频比例约束 */
- max-height: 50vh !important; /* 视口高度动态适配 */
- }
复制代码
3. **缓存处理**
修改后需:
- 后台 -> 工具 -> 更新缓存
- 清除浏览器localStorage中`discuz_style_*`缓存
**注意事项**:
1. 当视频平台要求固定宽高比时(如抖音竖屏视频),建议通过Hook机制扩展解析规则:
- // 在插件中挂载discuzcode_filter扩展点
- if(strpos($url, 'douyin.com')) {
- parse_str(parse_url($url, PHP_URL_QUERY), $params);
- $height = isset($params['vertical']) ? '400' : $height;
- }
复制代码
2. 对H5原生播放器的适配建议增加JS监听:
- document.querySelectorAll('video').forEach(v => {
- v.style.maxHeight = window.innerHeight * 0.6 + 'px';
- });
复制代码
该方案通过核心层+模板层+前端脚本三重控制,既保证基础功能实现,又增强不同视频平台的兼容性。建议通过SVN记录核心文件修改,便于后续版本升级时快速合并变更。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |