// ==UserScript==
// @name vipVideos_skipAd
// @namespace vipVideos_skipAd-xinggsf
// @author xinggsf
// @description 配合ABP去视频广告;开启GPU加速
// updateURL https://greasyfork.org/scripts/8561.js
// @include http*
// @exclude https://www.youtube.com/*
// @exclude http://*.dj92cc.com/*
//全面支持音悦台HTML5播放,详见 https://greasyfork.org/scripts/14593
// @exclude http://*.yinyuetai.com/*
// @version 2016.10.25
// @encoding utf-8
// @resource player_swf https://bitbucket.org/kafan15536900/haoutil/raw/master/player/testmod/player.swf
// @grant GM_getResourceURL
// @grant unsafeWindow
// @downloadURL none
// ==/UserScript==
-function(doc, bd) {
"use strict";
let isEmbed, swfAddr, regYk = /VideoIDS=(\w+)/,
onlyUseGpu = false,//仅使用脚本的GPU加速功能
noAdPlayerPath = '',//可填写有效播放器地址路径(不包括文件名),如:'http://minggo.coding.io/swf/' 但这个已经失效了
swfWhiteList = [
'.pdim.gs/static/', //熊猫直播
'http://v.6.cn/apple/player/',
'.plures.net/pts/swfbin/player/live.swf', //龙珠直播
'http://www.gaoxiaovod.com/ck/player.swf',
];
let Youku = {
matchPlayer: function(url) {
return /^http:\/\/static\.youku\.com\/v.*?(?:play|load)er/.test(url);
},
setPlayer: function(p, v) {
if (!window.chrome) {
openFlashGPU(p);
return;
}
if (document.domain.endsWith('youku.com')) {
//unsafeWindow.scrollTo(0, 99);
unsafeWindow._ssPlayer = p.outerHTML.replace('direct', 'gpu');
unsafeWindow.document.querySelector("div.base_info+div").outerHTML =
'换原播放器';
}
let m = v.match(regYk)[1],
s = getPlayerUrl('player.swf');
if (typeof(s) ==='string') setYkPlayer(p, s, m);
else s.then(url => {
setYkPlayer(p, url, m);
setTimeout(() => URL.revokeObjectURL(url), 3e3);
})
.then(console.log)
.catch(console.error);
}
};
let YkOutsite = {
matchPlayer: function(url) {
return /^http:\/\/player\.youku\.com\/player\.php\/sid\/(\w+)/.test(url);
},
setPlayer: function(p, v) {
let m = RegExp["$1"];
if (!m) {
m = swfAddr.match(regYk) || v.match(regYk);
m = m[1];
}
if (window.chrome) {
getPlayerUrl('player.swf')
.then(url => {
setYkPlayer(p, url, m);
setTimeout(() => URL.revokeObjectURL(url), 3e3);
});
} else {
setYkPlayer(p, 'http://static.youku.com/v1.0.0658/v/swf/player.swf', m);
}
}
};
let AcfunYk = {
matchPlayer: function(url) {
return url.toLowerCase().startsWith('http://cdn.aixifan.com/player/cooperation/acfunxyouku.swf');
},
setPlayer: function(p, v) {
let m = v.match(/vid=(\w+)/)[1];
if (window.chrome) {
getPlayerUrl('player.swf')
.then(url => {
setYkPlayer(p, url, m);
//if (!s.endsWith('.swf'))
setTimeout(() => URL.revokeObjectURL(url), 3e3);
});
} else {
setYkPlayer(p, 'http://static.youku.com/v1.0.0658/v/swf/player.swf', m);
}
}
};
let Iqiyi = {
matchPlayer: function(url) {
return url.startsWith('http://www.iqiyi.com/common/flashplayer/201');
},
setPlayer: function(p, v) {//cid: 100141,300089, &components=fefb1060e &vipuser=
if (doc.querySelector('li[data-flag=xuanji]') ) return;//有选集不能去广告
let s = v.replace(/&(?:cid|\w+?Time|cpn\w|exclusive\w*|adurl|webEventID|\w*loader)=[^&]*/g,'') +'&cid=qc_100001_300089';
p.outerHTML = `