// ==UserScript==
// @name Yinyuetai
// @author hyk
// @namespace bengda@outlook.com
// @description 免积分,免登录,既可观看、下载高清MV,支持1080p
// @version 1.1.4
// @create 2016-03-28
// @lastmodified 2016-06-03
// @include http://v.yinyuetai.com/video/*
// @include http://v.yinyuetai.com/playlist/*
// @copyright 2016+, hyk
// @require http://code.jquery.com/jquery-2.2.4.min.js
// @grant unsafeWindow
// @grant GM_addStyle
// @grant GM_xmlhttpRequest
// @icon http://www.yinyuetai.com/favicon.ico
// @updatelog [2016-06-03] 将鼠标悬浮视频预览改为鼠标点击显示,并可快速聚焦到正在播放的项
// @downloadURL none
// ==/UserScript==
//======= 禁止商业用途 ===========//
//======= 禁止商业用途 ===========//
//======= 禁止商业用途 ===========//
//======== start =================//
var XHR=function(type,Vid,index){
GM_xmlhttpRequest({
url: 'http://ext.yinyuetai.com/main/get-h-mv-info?json=true&videoId=' + Vid,
method: "get",
onload: function (y){
var r = $.parseJSON(y.responseText);
var aVideoUrlModels = r.videoInfo.coreVideoInfo.videoUrlModels;
//Log(r.videoInfo.coreVideoInfo.videoUrlModels);
var aVideoQuality = ["hc", "hd", "he", "sh"];
if (type=='pl') {
var oSpan = $("span.mv-quality-icon").eq(index);
for (var i = 0; i < aVideoUrlModels.length; i++)
oSpan.find("a." + aVideoQuality[i]).attr('href', aVideoUrlModels[i].videoUrl).show();
} else {
for (var i = 0; i < aVideoUrlModels.length; i++)
$("#video-quality-" + aVideoQuality[i]).attr('href', aVideoUrlModels[i].videoUrl).show();
}
}
});
};
function mvPage(appendTo){
style('mv');
var DOMSnippet="\
标清\
高清\
超清\
会员\
";
$(appendTo).after(DOMSnippet);
XHR('mv',$(appendTo).parent().parent().attr('videoid'));
}
function plPage(appendTo){
style('pl');
var MVlist = $(".mvbox_list .mv_picBox");
//Log(MVlist);
var DOMSnippet="悦单列表地址\
";
var offsetX=$(appendTo).outerWidth(true)+20;
var offsetY=0;
$(appendTo).after(DOMSnippet);
$("#ydList").click(function (e) {
if ($("div.box-container").is(":visible")) {
$("div.box-container").hide();
if($('div.box-container .wrapper-fixed .video-wrapper'))
$('div.box-container .wrapper-fixed .video-wrapper').remove();
$('div.box-container ul.MV_List li').css('background-color','transparent');
} else {
$("div.box-container").show();
}
$(".mvInfo_row01").css({overflow:"visible",position:"relative"});
$(".mvInfo_row02").css({display:"block",float:"left"});
if ($("ul.MV_List li").length != MVlist.length) {
for (var i = 0; i < MVlist.length; i++) {
$("ul.MV_List").append("" + (i + 1) + "" + MVlist[i].getAttribute('data-title') + "
shhehdhc");
XHR('pl',MVlist[i].getAttribute('data-id'), i);
}
offsetY="-"+($("div.box-container").outerHeight(true))+"px";
$("div.box-container").css({
"left": offsetX,
"top": offsetY
});
}
});
$("div.box-container").on("click","ul.MV_List li .mv-quality-icon a",function(e){
e.preventDefault();
if($(e.target).hasClass('active')){
$(e.target).removeClass('active');
$(e.target).parent().parent().css('background-color','transparent');
$(e.target).parent().parent().parent().parent().find('.video-wrapper').remove();
return;
}else{
$(e.target).parent().parent().parent().find('li').css('background-color','transparent');
$(e.target).parent().parent().parent().find('a.mv-url').removeClass('active');
if( $(e.target).parent().parent().parent().parent().find('.video-wrapper'))
$(e.target).parent().parent().parent().parent().find('.video-wrapper').remove();
$(e.target).addClass('active');
$(e.target).parent().parent().css('background-color','#111');
}
var videoWrapper_offsetY=Math.round(($(e.target).parent().parent().find("span.mv-index").text()-1)*$(e.target).parent().parent().innerHeight()-$("ul.MV_List")[0].scrollTop)+"px";
var videoDiv=$(e.target).parent().parent().parent().parent().append("");
videoDiv.find("video").attr("src",$(e.target).attr("href"));
var title=$(e.target).parent().siblings(".mv-title").text();
var mv_index= $(e.target).parent().siblings(".mv-index").text();
videoDiv.find(".preMV-caption .caption-title").attr('mv-index',mv_index).attr('title',title).text(title).click(function(e){
$('ul.MV_List').animate({
scrollTop:($(e.target).attr('mv-index')-1)*$('ul.MV_List li').innerHeight()-parseInt($(e.target).parent().parent().css('top'))+"px"
},500);
});
videoDiv.find(".preMV-caption .btn-close").click(function(e){
$('.wrapper-fixed').find('.video-wrapper').remove();
});
videoDiv.find("div.video-wrapper").css({top:videoWrapper_offsetY,left:offsetX<320?$("div.box-container").outerWidth():"-"+$("div.box-container").outerWidth()+"px"});
});
}
function style(p){
var css='';
switch(p){
case 'mv':
css="#Ytai{\
background-color: rgba(255, 255, 255, 0.1);\
border-radius: 4px;\
padding: 5px 8px;\
}\
#Ytai a{\
display:none;\
margin:3px;\
color:white;\
}\
#Ytai a:hover{\
color:#669900;\
}\
#Ytai{\
position:relative;\
left:10px;\
}";
break;
case 'pl':
css="span#ydList{ \
cursor:pointer;\
padding:3px;\
font-size:16px;\
position:relative;\
left:20px;\
top:10px;\
color:white;\
background-color:#333\
}\
span#ydList:hover{\
background-color:#404040;\
color:#27d5bf;\
}\
div.box-container{\
display:none;\
background-color:#333;\
scrollbar-base-color:#333;\
width:320px;\
height:auto;\
position:absolute;\
float:left;\
z-index:1000000;\
}\
div.box-container div.wrapper-fixed{\
position:relative;\
}\
div.box-container div.wrapper-fixed ul.MV_List {\
width:100%;\
max-height:505px;\
padding:0;\
overflow-y:scroll;\
}\
div.box-container div.wrapper-fixed ul.MV_List li{\
position:relative;\
display:block;\
width:100%;\
list-style:none;\
float:left;\
height:40px;\
padding:5px 0;\
margin:0;\
border-bottom:1px solid #404040;\
text-align:left;\
}\
div.box-container div.wrapper-fixed ul.MV_List li:hover{\
background-color:#111 !important;\
}\
div.box-container div.wrapper-fixed div.video-wrapper{\
position:absolute;\
display:block;\
width:300px;\
height:auto;\
left:-300px;\
}\
div.box-container div.wrapper-fixed div.video-wrapper video{\
float:left;\
width:100%;\
}\
div.box-container div.wrapper-fixed div.video-wrapper .preMV-caption{\
float:left;\
width:100%;\
height:22px;\
background-color:rgba(0,0,0,0.3);\
}\
div.box-container div.wrapper-fixed div.video-wrapper .preMV-caption .caption-title{\
display:inline-block;\
max-width:260px;\
overflow:hidden;\
color:white;\
font-size:14px;\
cursor:pointer;\
}\
div.box-container div.wrapper-fixed div.video-wrapper .preMV-caption .btn-close{\
float:right;\
padding:0px 6px;\
color:white;\
border:1px solid white;\
cursor:pointer;\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon{\
margin-left:22px;\
display:inline-block;\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon .mv-url{\
display:none;\
padding-left:10px;\
padding-right:10px;\
margin-left:3px;\
color:white;\
}"+
"div.box-container div.wrapper-fixed ul.MV_List li span.mv-index{\
float:left;\
width:18px;\
height:18px;\
background-color:#f52f2f;\
text-align:center;\
vertical-align:middle;\
color:white;\
border-radius:50%;\
display:inline-block\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon a.sh{\
background-color:#31d457;\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon a.he{\
background-color:#1e65c6;\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon a.hd{\
background-color:#27d5bf;\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon a.hc{\
background-color:#e57834;\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon a.sh:hover{\
background-color:#3cf066\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon a.he:hover{\
background-color:#2b7ded\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon a.hd:hover{\
background-color:#35fce2\
}\
div.box-container div.wrapper-fixed ul.MV_List li span.mv-quality-icon a.hc:hover{\
background-color:#f88843\
}\
div.box-container div.wrapper-fixed ul.MV_List li p.mv-title{\
margin-left:25px;\
height:20px;\
color:white;\
font-size:12px;\
overflow:hidden\
}";
break;
default:
break;
}
GM_addStyle(css);
}
(function YYT(type){
if(type=='pl'){
plPage('.mvInfo_row01_left');
}else{
mvPage('div.pl_title.fl');
}
})(unsafeWindow.location.href.indexOf('/playlist/')>0?'pl':'mv')
//==============================================================================//
// //
// //
// == == === === === === //
// == == == == == == //
// == ==== == == == == == == //
// == ==== == == == === //
// == == == == === //
// == == == == ==== //
// //
//==============================================================================//