文件: js/player/dplayer/dplayer.html
一、播放地址中包含中文时,可能会因为解码错误,导致前端页面无法正常播放。
搜索:
if(r != null) return unescape(r[2]);

播放地址中包含中文时,正则获取到的内容可能是 encodeURI 编码后的,直接使用 unescape 解码会导致中文字符乱码而无法正常播放。
修复:
将
if(r != null) return unescape(r[2]);
替换为:
if(r != null && r[2] !== undefined) return r[2].includes('%') ? decodeURI(r[2]) : unescape(r[2]);

根据播放地址字符串自动判断,使用 decodeURI 解码 或者 unescape 解码。
该问题在使用 暴风资源接口 出现的,理论上包含中文的播放地址都有可能出现该问题,具体自测。
二、控制台报错 xyplay is not defined

搜索:
xyplay=data.s;

原因是jq ajax 默认使用异步导致的
修复:
关掉异步即可。
async: false,

因刚接触海洋CMS,以上问题只是个人碰到。