115登录后自动跳转到文件界面、文件界面放大、自动获取艾薇封面+标题
// ==UserScript==
// @name 115艾薇预览
// @namespace http://tampermonkey.net/
// @version 1.6
// @description 115登录后自动跳转到文件界面、文件界面放大、自动获取艾薇封面+标题
// @author kyay006
// @include https://115.com/home/userhome
// @include https://115.com/?*mode=wangpan*
// @domain avmask.com
// @domain avsox.asia
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_listValues
// @grant GM_xmlhttpRequest
// ==/UserScript==
(function() {
'use strict';
if(window.location.href === "https://115.com/home/userhome")
window.location = "https://115.com/?mode=wangpan";
else
{
var item_list,item_obj,item_name;
var ifr = $("iframe[style='position: absolute; top: 0px;']");
$("div#js-main_mode").css("display","none");
$("div.main-core").css("left","0");
ifr.load(
function(){
setCss();
addMarkButton();
item_list = ifr.contents().find("body").find("div#js_data_list");
item_list.mouseenter(
function(){
if($("div.exph-loader").css("display") === "none" && !(item_list.find("div#isload").length)){
item_list.append("<div id='isload'></div>");
itemEvent();
}
}
);
}
);
}
function addMarkButton(){
var read_mark = `
<li id="read_mark">
<a id="add_mark" class="mark" href="javascript:;">标记已阅</a>
<a id="del_mark" class="mark" href="javascript:;">取消已阅</a>
</li>
`;
ifr.contents().find("body").mouseup(
function(event){
if(event.button == 2){
setTimeout(function(){
$("div#js_float_content").find("li[val='open_dir']").after(read_mark);
if($("li#read_mark").length){
showMarkButton(item_name);
$("a#add_mark").click(
function(){
GM_setValue(item_name,"1");
showMarkButton(item_name);
item_obj.find("i[class$='folder']").append("<i class='mark_ico'></i>");
$("div#js_float_content").css("display","none");
$("body div").last().css("display","none");
}
);
$("a#del_mark").click(
function(){
GM_deleteValue(item_name);
showMarkButton(item_name);
item_obj.find("i.mark_ico").remove();
$("div#js_float_content").css("display","none");
$("body div").last().css("display","none");
}
);
ifr.contents().find("body").unbind("mouseup");
}
},50);
}
}
)
}
function getVideoCode(title){
var t = title.match(/[A-Za-z]+\-\d+/);
if(!t){
t = title.match(/heyzo[\-\_]?\d{4}/);
}
if(!t){
t = title.match(/\d{6}[\-\_]\d{3}/);
}
if(!t){
t = title.match(/[A-Za-z]+\d+/);
}
return t;
}
function getVideoInfo(id){
var info = "<div id='" + id + "' class='item_info'></div>";
item_list.append(info);
GM_xmlhttpRequest({
method: "GET",
url: "https://avmask.com/cn/search/" + id,
onload: xhr => {
var xhr_data = $(xhr.responseText);
if(!(xhr_data.find("div.alert").length)){
var title = xhr_data.find("div.photo-info span").html();
var item_info = item_list.find("#" + id);
var info_html ="<div class='item_border'><h4>" + title + "</h4></div>";
item_info.append(info_html);
var img = xhr_data.find("div.photo-frame img").attr("src").replace("ps.j","pl.j");;
item_info.find(".item_border").append("<img src='" + img + "'>");
}else{
getUncensored(id);
}
}
})
}
function getUncensored(id){
GM_xmlhttpRequest({
method: "GET",
url: "https://avsox.asia/cn/search/" + id,
onload: xhr => {
var xhr_data = $(xhr.responseText);
if(!(xhr_data.find("div.alert").length)){
var title = xhr_data.find("div.photo-info span").html();
var item_info = item_list.find("#" + id);
var info_html ="<div class='item_border'><h4>" + title + "</h4></div>";
item_info.append(info_html);
var details_url = xhr_data.find("a.movie-box").attr("href");
GM_xmlhttpRequest({
method: "GET",
url: details_url,
onload: temp => {
var img = $(temp.responseText).find("a.bigImage").attr("href");
item_info.find(".item_border").append("<img src='" + img + "'>");
}
});
}
}
})
}
function getMarkList(items){
for(var i=0;i<items.length;i++){
if(GM_getValue($(items[i]).attr("title")))
$(items[i]).find("i[class$='folder']").append("<i class='mark_ico'></i>");;
}
}
function hiddenVideoInfo(id){
item_list.find("div#" + id).css("display","none");
}
function itemEvent(){
var item = item_list.find("li");
getMarkList(item);
item.mouseenter(
function(f){
item_name = $(this).attr("title");
var id = getVideoCode(item_name);
if(id){
if(!(item_list.find("div#"+id).length))
getVideoInfo(id);
showVideoInfo(item_list.find("div#"+id),f.clientX,f.clientY);
}
}
);
item.mouseleave(
function(){
item_name = $(this).attr("title");
hiddenVideoInfo(getVideoCode(item_name));
}
);
item.mouseup(
function(event){
item_obj = $(this);
item_name = $(this).attr("title");
hiddenVideoInfo(getVideoCode(item_name));
if(event.button == 2)
showMarkButton(item_name);
}
);
};
function setCss(){
$("head").append(`
<style type='text/css'>
#read_mark .mark{
display:none;
}
#read_mark .mark-show{
display:block;
}
</style>
`);
ifr.contents().find("head").append(`
<style type='text/css'>
#js_data_list i.mark_ico{
width:40px;
height:40px;
position:absolute;
top:14px;
left:12px;
background-image:url(data:image/png;base64,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);
}
.item_info{
display:none;
width:400px;
position:fixed;
z-index:100;
border-radius:5px;
background:rgba(248,248,255,0.7);
}
.item_border{
margin:5px;
padding:5px 5px 0px 5px;
border:1px solid gray;
border-radius:5px;
}
.item_border h4{
margin-bottom:5px;
}
.item_border img{
width:100%;
}
</style>
`);
}
function showMarkButton(name){
if(!(GM_getValue(name))){
$("#del_mark").removeClass("mark-show");
$("#add_mark").addClass("mark-show");
}
else{
$("#add_mark").removeClass("mark-show");
$("#del_mark").addClass("mark-show");
}
}
function showVideoInfo(ele, x, y){
if(x + 400 > ifr.width())
x = x - 400;
var ty = y + 326;
if(ty > ifr.height())
y = y - (ty - ifr.height());
ele.css("left",x);
ele.css("top",y);
ele.css("display","block");
}
})();