标签
var ul = $(div).find('figcaption').children()[0];
// 标题 标签
a = $($(ul).children('li')[0]).children('a');
a.attr('href', a.attr('href').split('id=')[0] + 'id=' + mWorks[i].illustId);
a.attr('title', mWorks[i].illustTitle);
a[0].innerText = mWorks[i].illustTitle;
// 作者 标签
a = $($(ul).children('li')[1]).children('a');
a.attr('href', a.attr('href').split('=')[0] + '=' + mWorks[i].userId);
a.attr('title', mWorks[i].userName);
a.attr('data-user_id', mWorks[i].userId);
a.attr('data-user_name', mWorks[i].userName);
a.find('div').css('background', 'url(' + mWorks[i].userImage + ') center top / cover no-repeat');
a[0].lastChild.innerText = mWorks[i].userName;
// 收藏量
if ($(ul.lastChild).css('position') == 'relative') {
$(ul.lastChild).remove();
}
if (mWorks[i].bookmarkCount != 0) {
var li = document.createElement('li');
ul.appendChild(li);
li.outerHTML = ' ';
}
}
if (mWorks.length === 0){
$('.column-search-result')[0].innerHTML = '未找到任何相关结果
';
}
// 恢复显示
SORT_END = true;
// 翻页部分
if ($(dataDivSelector[CurrentPage]).parent().children('.column-order-menu')) {
try{
$(dataDivSelector[CurrentPage]).parent()[0].insertBefore(($(dataDivSelector[CurrentPage]).parent().children('.column-order-menu')[0].cloneNode(true)),$(dataDivSelector[CurrentPage])[0]);
} catch(e) {}
}
$(dataDivSelector[CurrentPage]).children('div').show();
if (callback) {
callback();
}
}
}
/**
* ---------------------------------------- 以下为 Cookie 部分 ----------------------------------------
*/
// 设置 Cookie
// arg: Cookie 名称,Cookie 值
function setCookie(name, value) {
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
// 读取 Cookie
// arg: Cookie 名称
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return unescape(arr[2]);
}
else {
return null;
}
}
// 读取设置
function getSettings() {
var settings = getCookie('pixivPreviewerSetting');
if (!settings || settings == 'null') {
return null;
}
settings = eval('[' + settings + ']')[0];
if (!settings.version) {
settings.version = 0.0;
}
if (settings.version < 1.85) {
alert('v1.85: P站更新了个人作品和多图页面,因此脚本也做了一定改动,如果仍然存在问题,请前往 GreasyFork 的反馈页面反馈。');
settings.version = 1.85;
}
return settings;
}
/**
* ---------------------------------------- 以下为 教程设置 部分 ----------------------------------------
*/
// 显示设置
function showSetting(settings) {
var guide;
if (!settings || settings == 'null') {
settings = getSettings();
}
var screenWidth = document.documentElement.clientWidth;
var screenHeight = document.documentElement.clientHeight;
if ($('#pp-guide').length === 0) {
guide = document.createElement('div');
guide.id = 'pp-guide';
document.body.appendChild(guide);
$(guide).css({
'width': screenWidth + 'px', 'height': screenHeight + 'px', 'position': 'fixed',
'z-index': 999999, 'background-color': 'rgba(0,0,0,0.8)',
'left': '0px', 'top': '0px'
});
}
guide = $('#pp-guide')[0];
try {
if ($('.home').children()[0].innerText == '首页') {
lang = 0;
}
} catch(e) {
if ($('._2s4C5qu').find('a')[0].innerText == '首页') { // TODO: 怎么不使用类
lang = 0;
}
}
// 中文
var settingHTML =
'' +
'X ' +
'是否开启预览功能 ' +
' 开启  ' +
' 关闭 ' +
'预览功能图片质量 ' +
' 普通  ' +
' 原图 ' +
'隐藏多图加载图片 ' +
' 隐藏  ' +
' 显示 ' +
'是否开启排序功能 ' +
' 开启  ' +
' 关闭 ' +
'以下设置需要开启排序功能才能生效 ' +
'排序功能每次加载的页面数 ' +
' ' +
'隐藏收藏量低于该值的作品 ' +
' ' +
'是否使用新标签页打开图片 ' +
' 开启  ' +
' 关闭 ' +
'在搜索页隐藏已收藏的作品 ' +
' 隐藏  ' +
' 显示
';
// 英文
if (lang == 1) {
settingHTML =
'' +
'X ' +
'Preview Works ' +
' On  ' +
' Off ' +
'Preview Quality ' +
' Normal  ' +
' Origin ' +
'Hide loding image when preview multi pictures ' +
' Hide  ' +
' Show ' +
'Sort by favorite ' +
' On  ' +
' Off ' +
'Following settings take effect when "Sort" is On ' +
'The number of pages loaded each time ' +
' ' +
'Hide work which favorite number lower than ' +
' ' +
'Open work with a new browser tab ' +
' On  ' +
' Off '+
'Hide favorited works in search page ' +
' Hide  ' +
' Show
';
}
guide.innerHTML = settingHTML;
guide = $('#pp-guide')[0];
$(guide).children().css('margin-top', parseInt(screenHeight) / 5 + 'px');
if (settings.enablePreview == 'true') $(guide).find('#inputEnablePreview').attr('checked', true);
else $(guide).find('#inputEnablePreview2').attr('checked', true);
if (settings.previewQuality == '0') $(guide).find('#inputPreviewQuality').attr('checked', true);
else $(guide).find('#inputPreviewQuality2').attr('checked', true);
if (settings.hideLoading == 'true') $(guide).find('#inputHideLoading').attr('checked', true);
else $(guide).find('#inputHideLoading2').attr('checked', true);
if (settings.enableSort == 'true') $(guide).find('#inputEnableSort').attr('checked', true);
else $(guide).find('#inputEnableSort2').attr('checked', true);
$(guide).find('#inputPageCount').attr('value', settings.pageCount);
$(guide).find('#inputFilter').attr('value', settings.favFilter);
if (settings.linkBlank == 'true') $(guide).find('#inputHrefBlank').attr('checked', true);
else $(guide).find('#inputHrefBlank2').attr('checked', true);
if (settings.hideFavorite == 'true') $(guide).find('#inputHideFavorite').attr('checked', true);
else $(guide).find('#inputHideFavorite2').attr('checked', true);
// 保存按钮
var button = document.createElement('button');
$(button).addClass('_order-item _clickable');
$(button).css({ 'color': 'white', 'margin-right': '10px' });
$(guide).find('p')[0].appendChild(button);
$(button).attr('bgc', '#127bb1'); $(button).css('background-color', $(button).attr('bgc'));
$(button).mouseover(function () { $(this).css({ 'background-color': '#127bff' }); });
$(button).mouseout(function () { $(this).css({ 'background-color': $(this).attr('bgc') }); });
$(button).click(function () {
settings = {
'enablePreview': $("input[name='enablePreview']:checked").val(),
'previewQuality': $("input[name='previewQuality']:checked").val(),
'hideLoading': $("input[name='hideLoading']:checked").val(),
'enableSort': $("input[name='enableSort']:checked").val(),
'pageCount': $('#inputPageCount').val(),
'favFilter': $('#inputFilter').val(),
'linkBlank': $("input[name='hrefBlank']:checked").val(),
'hideFavorite': $("input[name='hideFavorite']:checked").val()
};
setCookie('pixivPreviewerSetting', JSON.stringify(settings));
$(guide).remove();
location.href = location.href;
});
button.innerText = '保存设置';
if (lang == 1) {
button.innerText = 'Save';
}
// 重置按钮
button = document.createElement('button');
$(button).addClass('_order-item _clickable');
$(button).css('color', 'white');
$(guide).find('p')[0].appendChild(button);
$(button).attr('bgc', 'red'); $(button).css('background-color', $(button).attr('bgc'));
$(button).mouseover(function () { $(this).css({ 'background-color': 'red' }); });
$(button).mouseout(function () { $(this).css({ 'background-color': $(this).attr('bgc') }); });
$(button).click(function () {
var comfirmText = "这会删除所有设置,相当于重新安装脚本,确定吗?";
if (lang == 1) {
comfirmText = 'Settings will be set to default, are you sure?'
}
if (confirm(comfirmText)) {
setCookie('pixivPreviewerSetting', null);
location.href = location.href;
}
$(guide).remove();
});
button.innerText = '重置脚本';
if (lang == 1) {
button.innerText = 'Reset';
}
guide.lastChild.appendChild(document.createElement('br'));
// 关闭按钮
$('#pp-close').bind('mouseover', function(){
$(this).css('color', 'rgb(18, 123, 255)');
}).bind('mouseout', function(){
$(this).css('color', '');
}).bind('click', function(){
$(guide).remove();
});
// 刷新声明
var span = document.createElement('span');
span.innerHTML = ' *保存或重置后会自动刷新使设置生效 *排序功能只在搜索页生效
';
if (lang == 1) {
span.innerHTML = ' *Save or Reset will refresh this page. *Sort only available in search Page.
';
}
$(span).css('font-size', '10px');
guide.lastChild.appendChild(span);
}
// 添加设置按钮
function addSettingButton() {
var toolbar = $('._toolmenu')[0];
if (toolbar) {
toolbar.appendChild(toolbar.firstChild.cloneNode(true));
toolbar.lastChild.innerHTML = ' ';
$(toolbar.lastChild)[0].className = 'item';
$(toolbar.lastChild).css('margin-top', '10px');
$(toolbar.lastChild).css('opacity', '0.8');
$(toolbar.lastChild).click(function () {
showSetting();
});
}
else {
toolbar = $('.heX3T-d')[0]; // TODO: 怎么不使用类
toolbar.appendChild(toolbar.firstChild.cloneNode(true));
toolbar.lastChild.innerHTML = ' Svg Vector Icons : http://www.sfont.cn ';
$(toolbar.lastChild).css('margin-top', '10px');
$(toolbar.lastChild).css('opacity', '0.8');
$(toolbar.lastChild).click(function () {
showSetting();
});
}
}
// 帮助
function guideStep(step) {
$('#pp-guide').children().remove();
$('#pp-guide').css('z-index', '999997');
var step1 = function () {
$(picDiv[0]).css({ 'position': 'absolute', 'z-index': '999998' });
$('#pp-guide')[0].innerHTML =
'' +
'将鼠标移动到图片上,稍等片刻便会出现预览图 ' +
'如果不想显示预览图,可以按住 Ctrl 键 ' +
'这时鼠标移动到图片上便不会出现 预览图 ' +
'点击继续 ' +
'
';
$('#nextStep').click(function () {
step2();
});
};
var step2 = function () {
$('#pp-guide')[0].innerHTML =
'' +
'按住 Ctrl 再点击预览图,可以切换成原图模式 ' +
'原图模式下右键保存就是最清晰的图片 ' +
'原图模式会在预览图右下角显示一个笑脸 ' +
'按住 Shift 点击预览图,或点击笑脸,可以用新标签页打开原图 ' +
'点击继续 ' +
'
';
$('#nextStep').click(function () {
step3();
});
};
var step3 = function () {
$('#pp-guide')[0].innerHTML =
'' +
'预览图会动鼠标不容易移上去? ' +
'按住 Ctrl 键预览图就不会跟随 鼠标移动了 ' +
'点击继续 ' +
'
';
$('#nextStep').click(function () {
step4();
});
};
var step4 = function () {
$('#pp-guide')[0].innerHTML =
'' +
'右上角有显示张数的作品(多图) ' +
'直接点击预览图 就能查看下一张图片 ' +
'当然如果不是多图,直接点击预览图没有任何效果 ' +
'点击继续 ' +
'
';
$('#nextStep').click(function () {
//step5();
step6();
});
};
var step5 = function () {
$(picDiv[0]).css({ 'position': 'absolute', 'z-index': '999998' });
$(picDiv[1]).css({ 'position': 'absolute', 'z-index': '999998' });
$(picDiv[2]).css({ 'position': 'absolute', 'z-index': '999998' });
$(picDiv[3]).css({ 'position': 'absolute', 'z-index': '999998' });
$('._toolmenu').css({ 'z-index': '999998' });
$('#pp-guide')[0].innerHTML =
'' +
'点击右下角的向下按钮 进入批量下载模式 ' +
'尝试勾选 下方的部分图片,完成后再次点击 该按钮 ' +
'处理完成后将会弹出下载地址 ' +
'点击继续 ' +
'
';
$('#nextStep').click(function () {
step6();
});
};
var step6=function (){
$(picDiv[0]).css({ 'position': '', 'z-index': '' });
$(picDiv[1]).css({ 'position': '', 'z-index': '' });
$(picDiv[2]).css({ 'position': '', 'z-index': '' });
$(picDiv[3]).css({ 'position': '', 'z-index': '' });
$('._toolmenu').css({ 'z-index': '' });
$('#pp-guide')[0].innerHTML =
'' +
'预览功能到这里就介绍完毕了 ' +
'排序功能并没有什么可以介绍的 ' +
'接下来将进入到设置页面 ' +
'如果以后需要修改设置,可以点击右下角的齿轮按钮 ' +
'点击继续 ' +
'
';
$('#nextStep').click(function () {
$('#pp-guide').remove();
var settings = {
'enablePreview': ENABLE_PREVIEW.toString(),
'previewQuality': PREVIEW_QUALITY.toString(),
'hideLoading': HIDE_LOADING_IN_NEXTPIC.toString(),
'enableSort': ENABLE_SORT.toString(),
'pageCount': GETTING_PAGE_COUNT.toString(),
'favFilter': FAV_FILTER.toString(),
'linkBlank': IS_LINK_BLANK.toString(),
'hideFavorite': HIDE_FAVORITE.toString()
};
showSetting(settings);
});
}
var itv = setInterval(function () {
if (SORT_END) {
$('#pp-guide').children().remove();
step1();
clearInterval(itv);
}
}, 500);
}
/**
* ---------------------------------------- 以下为 主函数 部分 ----------------------------------------
*/
$(document).ready(function (){
// 作品详情页不操作,由animePreview()处理
if(location.href.indexOf('member_illust.php?mode') != -1) {
return;
}
// 设置按钮
addSettingButton();
// 读取设置
var settings = getSettings();
if (!settings) {
var screenWidth = document.documentElement.clientWidth;
var screenHeight = document.documentElement.clientHeight;
settings = {
'enablePreview': ENABLE_PREVIEW.toString(),
'previewQuality': PREVIEW_QUALITY.toString(),
'hideLoading': HIDE_LOADING_IN_NEXTPIC.toString(),
'enableSort': ENABLE_SORT.toString(),
'pageCount': GETTING_PAGE_COUNT.toString(),
'favFilter': FAV_FILTER.toString(),
'linkBlank': IS_LINK_BLANK.toString(),
'hideFavorite': HIDE_FAVORITE.toString()
};
// 首次使用
var guide = document.createElement('div');
guide.id = 'pp-guide';
document.body.appendChild(guide);
guide.innerHTML = '您是第一次使用 是否愿意花费30秒 阅读帮助及进行相关设置?
';
$(guide).children().css('margin-top', parseInt(screenHeight) / 10 + 'px');
// 按钮
var button = document.createElement('li');
$(button).addClass('_order-item _clickable');
$(button).css('color', 'white');
$(guide).find('p')[0].appendChild(button);
$(guide).find('p')[0].appendChild(button.cloneNode(false));
$(guide).find('p')[0].appendChild(button.cloneNode(false));
// 三个按钮
var li = $(guide).find('li');
li[0].innerText = '是,阅读帮助并配置'; $(li[0]).attr('bgc', '#127bb1');
li[1].innerText = '是,但仅进行配置'; $(li[1]).attr('bgc', '#12cdcd');
li[2].innerText = '否,使用默认设置'; $(li[2]).attr('bgc', '#ff7e48');
li.css({ 'margin-right': '10px', 'margin-top': '80px', 'font-size': '18px', 'width': '180px' });
li.each(function () {
$(this).css('background-color', $(this).attr('bgc'));
});
li.mouseover(function () {
$(this).css({ 'background-color': '#127bff' });
});
li.mouseout(function () {
$(this).css({ 'background-color': $(this).attr('bgc') });
});
// 按钮的点击事件
$(li[0]).click(function () { // 是
// 不在搜索页的时候跳转到搜索页
if (location.href.indexOf('search.php') == -1) {
location.href = 'https://www.pixiv.net/search.php?word=miku&pp=guide';
}
guideStep();
});
$(li[1]).click(function () { // 是,仅设置
showSetting(settings);
});
$(li[2]).click(function () { // 否
setCookie('pixivPreviewerSetting', JSON.stringify(settings));
$(guide).remove();
});
$(guide).css({
'width': screenWidth + 'px', 'height': screenHeight + 'px', 'position': 'fixed',
'z-index': 999999, 'background-color': 'rgba(0,0,0,0.8)',
'left': '0px', 'top': '0px'
});
if (location.href.indexOf('pp=guide') != -1) {
guideStep();
}
}
else {
ENABLE_PREVIEW = settings.enablePreview == 'true' ? true : false;
show_origin = settings.previewQuality == '0' ? false : true;
HIDE_LOADING_IN_NEXTPIC = settings.hideLoading == 'true' ? true : false;
ENABLE_SORT = settings.enableSort == 'true' ? true : false;
GETTING_PAGE_COUNT = parseInt(settings.pageCount);
FAV_FILTER = parseInt(settings.favFilter);
IS_LINK_BLANK = settings.linkBlank == 'true' ? true : false;
HIDE_FAVORITE = settings.hideFavorite == 'true' ? true : false;
}
// 设置页面(应该循环去搞)
if (location.href.indexOf('bookmark_new_illust') != -1) {
CurrentPage = FollowPage;
} else if (location.href.indexOf('discovery') != -1) {
CurrentPage = DiscoveryPage;
} else if (location.href.indexOf('member') != -1) {
CurrentPage = MemberPage;
} else if (location.href == 'https://www.pixiv.net/') {
CurrentPage = HomePage;
} else if (location.href.indexOf('ranking') != -1) {
CurrentPage = RankingPage;
} else if (location.href.indexOf('new_illust.php') != -1) {
CurrentPage = NewIllustPage;
} else if (location.href.indexOf('cate_r18.php') != -1) {
CurrentPage = R18Cate;
} else if (location.href.indexOf('bookmark.php') != -1) {
CurrentPage = BookMarkPage;
} else if (location.href.indexOf('stacc') != -1) {
CurrentPage = StaccPage;
}
var itv;
// 怎么都得单独处理,好麻烦...
// 发现页
if (CurrentPage == DiscoveryPage) {
(function discoveryFunc() {
if (ENABLE_PREVIEW) {
var itv = setInterval(function(){
dataDiv = $(dataDivSelector[CurrentPage]);
imgData = []; // 得自己生成imgData
if(dataDiv.find('figure').length > 0){
clearInterval(itv);
picList = dataDiv.children()[0];
var pics = $($(picList).children()[1]).children();
pics = $($(pics.children()[1]).children()[0]).children();
picDiv = []; picHref = [];
for (var i = 0; i < pics.length; i++) {
if(pics[i].className != pics[0].className){
pics[i].remove();
pics.splice(i--,1);
continue;
}
picDiv.push(pics[i].childNodes[0].childNodes[0]);
$(picDiv[i]).attr('data-index', i);
picHref.push(picDiv[i].childNodes[0]);
$(picHref[i]).attr('data-index', i);
var id = $(picHref[i]).attr('href').split('illust_id')[1].split('=')[1].split('&')[0];
$(picHref[i]).attr('data-id', id);
var divs = $(picHref[i]).find('div');
var spans = $(picHref[i]).find('span');
var illustType = 0, pageCount = 1;
if (divs.length == 2 && spans.length != 0) {
illustType = 1;
pageCount = parseInt(spans[1].innerText);
}
else if (divs.length == 1){
illustType = 0;
}
else {
illustType = 2;
}
imgData.push({'illustType': illustType, 'pageCount': pageCount});
}
pixivPreviewer();
// 标记
pics.addClass('processed');
// 持续检测是否有新的作品
var itvTick;
itvTick = setInterval(function(){
var dataDivTemp, imgDataTemp, picListTemp, picsTemp, picDivTemp, picHrefTemp;
dataDivTemp = $(dataDivSelector[CurrentPage]);
imgDataTemp = [];
if(dataDivTemp.find('figure').length > 0){
picListTemp = dataDivTemp.children()[0];
picsTemp = $($(picListTemp).children()[1]).children();
picsTemp = $($(picsTemp.children()[1]).children()[0]).children();
// 检查
if (picsTemp.last().hasClass('processed'))
return;
//clearInterval(itvTick);
// 找到最后一个处理过的
var i;
i = picsTemp.length - 1;
for(; i >= 0 && !$(picsTemp[i]).hasClass('processed'); i--);
// i==-1说明全都没有处理过
picDivTemp = []; picHrefTemp = [];
// i+1是第一个没有处理过的
var newZero = i + 1;
// 复制已经处理过的内容
picDivTemp = picDiv;
picHrefTemp = picHref;
imgDataTemp = imgData;
for (i = i + 1; i < picsTemp.length; i++) {
if(picsTemp[i].className != picsTemp[newZero].className){
picsTemp[i].remove();
picsTemp.splice(i--,1);
continue;
}
picDivTemp.push(picsTemp[i].childNodes[0].childNodes[0]);
$(picDivTemp[i]).attr('data-index', i);
picHrefTemp.push(picDivTemp[i].childNodes[0]);
$(picHrefTemp[i]).attr('data-index', i);
var id = $(picHrefTemp[i]).attr('href').split('illust_id')[1].split('=')[1].split('&')[0];
$(picHrefTemp[i]).attr('data-id', id);
var divs = $(picHrefTemp[i]).find('div');
var spans = $(picHrefTemp[i]).find('span');
var illustType = 0, pageCount = 1;
if (divs.length == 2 && spans.length != 0) {
illustType = 1;
pageCount = parseInt(spans[1].innerText);
}
else if (divs.length == 1){
illustType = 0;
}
else {
illustType = 2;
}
imgDataTemp.push({'illustType': illustType, 'pageCount': pageCount});
}
// 更新信息
picsTemp.addClass('processed');
picDiv = picDivTemp;
picHref = picHrefTemp;
imgData = imgDataTemp;
pixivPreviewer();
}
}, 2000);
}
}, 500);
}
})();
return;
}
// 作品页
else if (CurrentPage == MemberPage) {
if (ENABLE_PREVIEW) {
itv = setInterval(function(){
dataDiv = $('.xq6AsQu');
imgData = [];
if(dataDiv.children().length > 0){
clearInterval(itv);
picList = dataDiv;
var pics = $(picList).children();
picDiv = []; picHref = [];
for (var i = 0; i < pics.length; i++) {
picDiv.push(pics[i]);
$(picDiv[i]).attr('data-index', i);
picHref.push($(pics[i]).find('a')[0]);
$(picHref[i]).attr('data-index', i);
var id = $(picHref[i]).attr('href').split('illust_id')[1].split('=')[1].split('&')[0];
$(picHref[i]).attr('data-id', id);
var illustType = 0, pageCount = 1;
if ($(picHref[i]).hasClass('ugoku-illust')){
illustType = 2;
}
else if ($(picHref[i]).find('span').length > 0) {
illustType = 1;
pageCount = $(picHref[i]).find('span')[0].innerText;
}
imgData.push({'illustType': illustType, 'pageCount': pageCount});
}
pixivPreviewer();
}
}, 500);
}
}
// 新作品页、收藏页
else if ( CurrentPage == NewIllustPage || CurrentPage == BookMarkPage) {
if (ENABLE_PREVIEW) {
itv = setInterval(function(){
dataDiv = $('._image-items').parent();
imgData = []; // 得自己生成imgData
if(dataDiv.find('._layout-thumbnail').length > 0){
clearInterval(itv);
picList = $('._image-items')[0];
var pics = $(picList).children();
picDiv = []; picHref = [];
for (var i = 0; i < pics.length; i++) {
picDiv.push(pics[i]);
$(picDiv[i]).attr('data-index', i);
picHref.push($(pics[i]).find('._work')[0]);
$(picHref[i]).attr('data-index', i);
var id = $(picHref[i]).attr('href').split('illust_id')[1].split('=')[1].split('&')[0];
$(picHref[i]).attr('data-id', id);
var illustType = 0, pageCount = 1;
if ($(picHref[i]).hasClass('ugoku-illust')){
illustType = 2;
}
else if ($(picHref[i]).find('.page-count').length > 0) {
illustType = 1;
pageCount = $(picHref[i]).find('.page-count').find('span')[0].innerText;
}
imgData.push({'illustType': illustType, 'pageCount': pageCount});
}
pixivPreviewer();
}
}, 500);
}
return;
}
// 主页
else if (CurrentPage == HomePage || CurrentPage == R18Cate) {
if (ENABLE_PREVIEW) {
itv = setInterval(function(){
dataDiv = $('._image-items').parent();
imgData = []; // 得自己生成imgData
if(dataDiv.find('._layout-thumbnail').length > 0){
clearInterval(itv);
picList = dataDiv.find('._image-items');
var pics = $(picList).children();
picDiv = []; picHref = [];
for (var i = 0; i < pics.length; i++) {
picDiv.push(pics[i]);
$(picDiv[i]).attr('data-index', i);
picHref.push($(pics[i]).find('._work')[0]);
$(picHref[i]).attr('data-index', i);
var id;
// BOOTH最新动态这种没有预览的意义
try {
id = $(picHref[i]).attr('href').split('illust_id')[1].split('=')[1].split('&')[0]
} catch (e) {
picDiv.pop();
picHref.pop();
continue;
}
$(picHref[i]).attr('data-id', id);
var illustType = 0, pageCount = 1;
if ($(picHref[i]).hasClass('ugoku-illust')) {
illustType = 2;
}
else if ($(picHref[i]).find('.page-count').length > 0) {
illustType = 1;
pageCount = $(picHref[i]).find('.page-count').find('span')[0].innerText;
}
imgData.push({'illustType': illustType, 'pageCount': pageCount});
}
pixivPreviewer();
}
}, 500);
}
return;
}
// 排行榜
else if (CurrentPage == RankingPage) {
if (ENABLE_PREVIEW) {
itv = setInterval(function(){
dataDiv = $(dataDivSelector[CurrentPage]);
imgData = []; // 得自己生成imgData
if(dataDiv.find('.ranking-item').length > 0){
clearInterval(itv);
picList = dataDiv.children()[0];
var pics = $(picList).children();
picDiv = []; picHref = [];
for (var i = 0; i < pics.length; i++) {
picDiv.push($(pics[i]).find('.ranking-image-item'));
$(picDiv[i]).attr('data-index', i);
picHref.push($(pics[i]).find('._work')[0]);
$(picHref[i]).attr('data-index', i);
var id = $(picHref[i]).attr('href').split('illust_id')[1].split('=')[1].split('&')[0];
$(picHref[i]).attr('data-id', id);
var illustType = 0, pageCount = 1;
if ($(picHref[i]).hasClass('ugoku-illust')) {
illustType = 2;
}
else if ($(picHref[i]).find('.page-count').length > 0) {
illustType = 1;
pageCount = $(picHref[i]).find('.page-count').find('span')[0].innerText;
}
imgData.push({'illustType': illustType, 'pageCount': pageCount});
}
pixivPreviewer();
// 标记
pics.addClass('processed');
// CV 就 CV 吧,估计不会有重构的机会了,能用就先用着...
// 持续检测是否有新的作品
var itvTick;
itvTick = setInterval(function(){
var dataDivTemp, imgDataTemp, picListTemp, picsTemp, picDivTemp, picHrefTemp;
dataDivTemp = $(dataDivSelector[CurrentPage]);
imgDataTemp = [];
if(dataDivTemp.find('.ranking-item').length > 0){
picListTemp = dataDivTemp.children()[0];
picsTemp = $(picListTemp).children();
// 检查
if (picsTemp.last().hasClass('processed'))
return;
//clearInterval(itvTick);
// 找到最后一个处理过的
var i;
i = picsTemp.length - 1;
for(; i >= 0 && !$(picsTemp[i]).hasClass('processed'); i--);
// i==-1说明全都没有处理过
picDivTemp = []; picHrefTemp = [];
// i+1是第一个没有处理过的
var newZero = i + 1;
// 复制已经处理过的内容
picDivTemp = picDiv;
picHrefTemp = picHref;
imgDataTemp = imgData;
for (i = i + 1; i < picsTemp.length; i++) {
if(picsTemp[i].className != picsTemp[newZero].className){
picsTemp[i].remove();
picsTemp.splice(i--,1);
continue;
}
picDivTemp.push($(picsTemp[i]).find('.ranking-image-item'));
$(picDivTemp[i]).attr('data-index', i);
picHrefTemp.push($(picsTemp[i]).find('._work')[0]);
$(picHrefTemp[i]).attr('data-index', i);
var id = $(picHrefTemp[i]).attr('href').split('illust_id')[1].split('=')[1].split('&')[0];
$(picHrefTemp[i]).attr('data-id', id);
var illustType = 0, pageCount = 1;
if ($(picHrefTemp[i]).hasClass('ugoku-illust')) {
illustType = 2;
}
else if ($(picHrefTemp[i]).find('.page-count').length > 0) {
illustType = 1;
pageCount = $(picHrefTemp[i]).find('.page-count').find('span')[0].innerText;
}
imgDataTemp.push({'illustType': illustType, 'pageCount': pageCount});
}
// 更新信息
picsTemp.addClass('processed');
picDiv = picDivTemp;
picHref = picHrefTemp;
imgData = imgDataTemp;
pixivPreviewer();
}
}, 2000);
}
}, 500);
}
return;
}
// 动态
else if (CurrentPage == StaccPage) {
if (ENABLE_PREVIEW) {
itv = setInterval(function(){
if($('.stacc_ref_illust_img, .stacc_ref_user_illust_img').find('._layout-thumbnail').last().hasClass('processed')) {
return;
}
dataDiv = $('#stacc_timeline');
imgData = []; // 得自己生成imgData
picList = $('.stacc_ref_illust_img, .stacc_ref_user_illust_img');
var pics = picList.find('._layout-thumbnail');
picDiv = []; picHref = [];
for (var i = 0; i < pics.length; i++) {
picDiv.push(pics[i]);
$(picDiv[i]).attr('data-index', i);
picHref.push($(pics[i]).parent().get(0));
$(picHref[i]).attr('data-index', i);
var id = $(picHref[i]).attr('href').split('illust_id')[1].split('=')[1].split('&')[0];
$(picHref[i]).attr('data-id', id);
var illustType = 0, pageCount = 1;
if ($(picHref[i]).hasClass('ugoku-illust')){
illustType = 2;
}
else if ($(picHref[i]).find('.page-count').length > 0) {
illustType = 1;
pageCount = $(picHref[i]).find('.page-count').find('span')[0].innerText;
}
imgData.push({'illustType': illustType, 'pageCount': pageCount});
}
// 标记
pics.addClass('processed');
pixivPreviewer();
}, 1000);
}
return;
}
// 预览,下载
itv = setInterval(function () {
try {
getImageElements();
}
catch (e) {
console.log(e);
return;
}
try {
// 排序
if (picDiv.length > 0) {
clearInterval(itv);
if (ENABLE_SORT && ENABLE_PREVIEW) {
pixiv_sk(pixivPreviewer); // 排序完成后调用预览
}
else if (ENABLE_SORT) {
pixiv_sk(); // 仅排序
}
else if (ENABLE_PREVIEW) {
pixivPreviewer();
}
}
}
catch (e) {
console.log(e);
alert('出现错误!');
clearInterval(itv);
}
}, 500);
});