一号优惠经验分享网
51福利网的各种薅羊毛福利经验笔记

海洋cms根据访问来源(APP 或浏览器)使用不同的播放域名

我有一个电影网站,php的海洋cms, 数据库保存的播放地址域名是a.com,我想用户在app访问的时候用b.com,浏览器访问的时候用a.com.请问怎么操作最简单方便。

播放地址是通过 JS 加载的,需修改对应的 JS 文件:

51福利网
  • 模板目录下的js/play.js
  • 或在play.html中直接找到 JS 播放逻辑

我原来的播放js是

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>kkflv视频解析</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


</head>
<body>
    
 

<div id="player"></div>

<script>

var playerh=parent.playerh;
var str = parent.now;
document.getElementById('player').innerHTML  = '<iframe width="100%" height="'+playerh+'" src="https://www.bofangjiexidizhi.com/mypage/m3u8/myplayer/m3u8.php?url='+parent.now+'" allowfullscreen="true" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>';
</script> 
</body>
</html>

根据提供的播放器代码,播放地址是通过 parent.now 变量传递的。需要修改这个变量中的域名,可按以下方式修改代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>kkflv视频解析</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div id="player"></div>

<script>
// 判断是否为APP访问
function isApp() {
    var userAgent = navigator.userAgent || '';
    // 替换为你的APP专属标识
    return userAgent.indexOf('YourAppName') !== -1 || 
           (navigator && navigator.userAgentData && navigator.userAgentData.brands.some(b => b.brand.includes('YourAppName')));
}

var playerh = parent.playerh;
var originalUrl = parent.now;
var finalUrl = originalUrl;

// 如果是APP访问,替换域名
if (isApp()) {
    finalUrl = originalUrl.replace('a.com', 'b.com');
}

document.getElementById('player').innerHTML = '<iframe width="100%" height="'+playerh+'" src="https://www.bofangjiexidizhi.com/mypage/m3u8/myplayer/m3u8.php?url='+finalUrl+'" allowfullscreen="true" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>';
</script> 
</body>
</html>

    

修改说明:

  1. 新增了 isApp() 函数,用于检测访问来源是否为 APP
    • 请将 YourAppName 替换为你的 APP 实际标识(如 APP 名称)
    • 可在 APP 的请求头 User-Agent 中加入这个标识
  2. 核心逻辑:
    • 先获取原始地址 parent.now
    • 若检测到是 APP 访问,则用 replace 方法将 a.com 替换为 b.com
    • 最后将处理后的地址传入 iframe 的 src 参数
  3. 优势:
    • 无需修改 PHP 代码,直接在前端 JS 中完成域名替换
    • 不影响原播放逻辑,只是在地址使用前做了替换处理

修改后,浏览器访问会继续使用 a.com,而 APP 访问时会自动切换为 b.com

继续添加一个替换,同样条件下,从c.com变成的d.com

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>kkflv视频解析</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div id="player"></div>

<script>
// 判断是否为APP访问
function isApp() {
    var userAgent = navigator.userAgent || '';
    // 替换为你的APP专属标识
    return userAgent.indexOf('YourAppName') !== -1 || 
           (navigator && navigator.userAgentData && navigator.userAgentData.brands.some(b => b.brand.includes('YourAppName')));
}

var playerh = parent.playerh;
var originalUrl = parent.now;
var finalUrl = originalUrl;

// 如果是APP访问,替换域名
if (isApp()) {
    // 第一个域名替换
    finalUrl = originalUrl.replace('a.com', 'b.com');
    // 第二个域名替换(添加此行)
    finalUrl = finalUrl.replace('c.com', 'd.com');
}

document.getElementById('player').innerHTML = '<iframe width="100%" height="'+playerh+'" src="https://www.bofangjiexidizhi.com/mypage/m3u8/myplayer/m3u8.php?url='+finalUrl+'" allowfullscreen="true" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>';
</script> 
</body>
</html>
    

继续修改如果是苹果手机也替换2个域名

要实现苹果手机访问时也替换这两个域名,只需在判断条件中增加对苹果设备的检测即可。可以通过检测 User-Agent 中是否包含苹果设备特征词(如 iPhone、iPad 等)来实现:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>kkflv视频解析</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div id="player"></div>

<script>
// 判断是否为APP访问
function isApp() {
    var userAgent = navigator.userAgent || '';
    return userAgent.indexOf('YourAppName') !== -1 || 
           (navigator && navigator.userAgentData && navigator.userAgentData.brands.some(b => b.brand.includes('YourAppName')));
}

// 判断是否为苹果设备(iPhone/iPad等)
function isAppleDevice() {
    var userAgent = navigator.userAgent || '';
    // 检测常见苹果设备标识
    return /iphone|ipad|ipod|macintosh/i.test(userAgent);
}

var playerh = parent.playerh;
var originalUrl = parent.now;
var finalUrl = originalUrl;

// 如果是APP访问 或者 是苹果设备,都替换域名
if (isApp() || isAppleDevice()) {
    // 第一个域名替换
    finalUrl = originalUrl.replace('a.com', 'b.com');
    // 第二个域名替换
    finalUrl = finalUrl.replace('c.com', 'd.com');
}

document.getElementById('player').innerHTML = '<iframe width="100%" height="'+playerh+'" src="https://www.bofangjiexidizhi.com/mypage/m3u8/myplayer/m3u8.php?url='+finalUrl+'" allowfullscreen="true" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>';
</script> 
</body>
</html>
    

一号优惠 · 51福利网薅羊毛福利具有时效性,如已失效,请留言
文章名称:《海洋cms根据访问来源(APP 或浏览器)使用不同的播放域名》-一号优惠 · 51福利网
免责申明:本站所有活动信息均来自网络,如有失效、违规、不实或侵权,请联系我们删除。谢谢

评论 抢沙发

一号优惠经验分享网最新最全薅羊毛,现金红包线报网

一号优惠经验分享网提供每日最新内部优惠,薅羊毛活动,现金红包领取,免费福利和网赚福利手机赚钱线报,打造中国最受欢迎的网赚信息发布平台!51福利网

51联盟线报群赚钱·合作·帮助

登录

找回密码

注册