我有一个电影网站,php的海洋cms, 数据库保存的播放地址域名是a.com,我想用户在app访问的时候用b.com,浏览器访问的时候用a.com.请问怎么操作最简单方便。
播放地址是通过 JS 加载的,需修改对应的 JS 文件:
- 模板目录下的
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>
修改说明:
- 新增了
isApp()函数,用于检测访问来源是否为 APP- 请将
YourAppName替换为你的 APP 实际标识(如 APP 名称) - 可在 APP 的请求头 User-Agent 中加入这个标识
- 请将
- 核心逻辑:
- 先获取原始地址
parent.now - 若检测到是 APP 访问,则用
replace方法将a.com替换为b.com - 最后将处理后的地址传入 iframe 的 src 参数
- 先获取原始地址
- 优势:
- 无需修改 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>












