苹果CMS 播放页劫持跳转如何解决?
很多站长使用苹 CMS 的用户会遇到播放页被劫持跳转的情况,比如打开视频播放页时,会先弹出一些广告页面,或者直接跳转到其他网站,影响用户体验。这主要是因为苹果CMS 播放页的预加载页面被劫持了。
解决方案
第一步:删除后台广告设置
首先要在苹果CMS 的后台进行一些设置调整。进入后台后,找到 “系统设置”,然后选择 “播放器参数设置”。在这里,你会看到 “预加载广告” 和 “缓冲广告” 这两项内容,把它们全部删除。因为不同版本的苹果CMS 界面可能略有不同,如果你找不到这两个选项,也可以在播放器参数设置里寻找类似 “预加载地址”“缓冲地址” 这样的选项,然后把它们删除。
第二步:修改 player.js 文件
接下来需要修改网站根目录下的 /static/js/player.js 文件。如果你使用的是苹果CMS v10 版本,可以把 player.js 文件内容替换为以下代码:
var MacPlayer = {
'GetUrl': function(s, n) {
return this.Link.replace('{sid}', s).replace('{sid}', s).replace('{nid}', n).replace('{nid}', n)
},
'Go': function(s, n) {
location.href = this.GetUrl(s, n)
},
'Show': function() {
$('#buffer').attr('src', this.Prestrain);
setTimeout(function() {
MacPlayer.AdsEnd()
}, this.Second * 1000);
$("#playleft").get(0).innerHTML = this.Html;
var a = document.createElement('script');
a.type = 'text/javascript';
a.async = true;
a.charset = 'utf-8';
a.src = '';
var b = document.getElementsByTagName('script')[0];
b.parentNode.insertBefore(a, b)
},
'AdsStart': function() {
if ($("#buffer").attr('src') != this.Buffer) {
$("#buffer").attr('src', this.Buffer)
}
$("#buffer").show()
},
'AdsEnd': function() {
$('#buffer').hide()
},
'Install': function() {
this.Status = false;
$('#install').show()
},
'Play': function() {
document.write('<style>.MacPlayer{background:#000000;font-size:14px;color:#F6F6F6;margin:0px;padding:0px;position:relative;overflow:hidden;width:100%;height:100%;min-heigh:300px;}.MacPlayer table{width:100%;height:100%;}.MacPlayer #playleft{position:inherit;!important;width:100%;height:100%;}</style><div class="MacPlayer">' + '<iframe id="buffer" src="" frameBorder="0" scrolling="no" width="100%" height="100%" style="position:absolute;z-index:99998;"></iframe><iframe id="install" src="" frameBorder="0" scrolling="no" width="100%" height="100%" style="position:absolute;z-index:99998;display:none;"></iframe>' + '<table border="0" cellpadding="0" cellspacing="0"><tr><td id="playleft" valign="top" style=""> </td></table></div>');
this.Height = $('.MacPlayer').get(0).offsetHeight;
this.Width = $('.MacPlayer').get(0).offsetWidth;
document.write('<scr' + 'ipt src="' + this.Path + this.PlayFrom + '.js"></scr' + 'ipt>')
},
'Down': function() {},
'Init': function() {
this.Status = true;
this.Parse = '';
if (player_data.encrypt == '1') {
player_data.url = unescape(player_data.url);
player_data.url_next = unescape(player_data.url_next)
} else if (player_data.encrypt == '2') {
player_data.url = unescape(base64decode(player_data.url));
player_data.url_next = unescape(base64decode(player_data.url_next))
}
this.Prestrain = MacPlayerConfig.prestrain;
this.Buffer = MacPlayerConfig.buffer;
this.Second = MacPlayerConfig.second;
this.Flag = player_data.flag;
this.Trysee = player_data.trysee;
this.Points = player_data.points;
this.Link = decodeURIComponent(player_data.link);
this.PlayFrom = player_data.from;
this.PlayNote = player_data.note;
this.PlayServer = player_data.server == 'no' ? '' : player_data.server;
this.PlayUrl = player_data.url;
this.PlayUrlNext = player_data.url_next;
this.PlayLinkNext = player_data.link_next;
this.PlayLinkPre = player_data.link_pre;
if (MacPlayerConfig.server_list[this.PlayServer] != undefined) {
this.PlayServer = MacPlayerConfig.server_list[this.PlayServer].des
}
if (MacPlayerConfig.player_list[this.PlayFrom] != undefined) {
if (MacPlayerConfig.player_list[this.PlayFrom].ps == "1") {
this.Parse = MacPlayerConfig.player_list[this.PlayFrom].parse == '' ? MacPlayerConfig.parse : MacPlayerConfig.player_list[this.PlayFrom].parse;
this.PlayFrom = 'parse'
}
}
this.Path = maccms.path + '/static/player/';
if (this.Flag == "down") {
MacPlayer.Down()
} else {
MacPlayer.Play()
}
}
};
注意事项
- 修改文件前一定要备份原文件,以防出现问题可以恢复。
- 不同版本的苹果CMS 可能会有一些差异,如果上述方法不能解决你的问题,建议到苹果CMS 的官方论坛或者相关技术社区去咨询,那里有更多的技术人员可以帮助你。
- 保持苹果CMS 的版本更新也很重要,官方通常会在新版本中修复一些已知的安全问题和漏洞。
通过以上两个步骤,一般可以解决苹果CMS 播放页被劫持跳转的问题。希望这篇文章对大家有所帮助。