You can bookmark without going to the related pages. ページ遷移なく非同期的にブックマークします。
当前为
// ==UserScript==
// @name Pixiv Ajax Bookmark Mod
// @namespace com.SaddestPanda.net.moe
// @version 2.0.0
// @description You can bookmark without going to the related pages. ページ遷移なく非同期的にブックマークします。
// @include http://www.pixiv.net/member_illust.php*illust_id=*
// @include https://www.pixiv.net/member_illust.php*illust_id=*
// @exclude http://www.pixiv.net/member*mode=manga*
// @exclude https://www.pixiv.net/member*mode=manga*
// @homepage https://greasyfork.org/en/scripts/22767-pixiv-ajax-bookmark-mod
// @supportURL https://greasyfork.org/en/scripts/22767-pixiv-ajax-bookmark-mod/feedback
// @author qa2 & SaddestPanda
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js
// @grant none
// @run-at document-idle
// @noframes
// ==/UserScript==
//When you add an illustration to bookmarks also give it a like.
// 1 でしたらブックマークした時、同時に「いいね!」もします。
var givelike = 1;
//R18 illustrations are added as private bookmarks.
// 1 でしたらイラストはR-18であった場合プライベートブックマークにします。
var r18private = 1;
// If set to "1": Always add to private bookmarks list.
//ブックマークする作品をいつも非公開にするかどうか 0:公開 1:非公開
var bkm_restrict = 0;
//Add all tags to the bookmark.
//作品に登録されているすべてのタグをブックマークタグとして追加
var add_all_tags = 1;
var tags, useNewDesign = "", tagsInterval;
var TheInterval = setInterval(function () { //Check if the page is using the new design.
try {
if (globalInitData.token != null) {
useNewDesign = 1;
tagsInterval = setInterval(startingUp, 125);
clearInterval(TheInterval);
}
} catch (e) {}
try {
if (pixiv.context.token != null) {
useNewDesign = 0;
oldstartingUp();
clearInterval(TheInterval);
}
} catch (e) {}
}, 125);
function startingUp() {
tags = "";
$("._18Ri3hp").children().each(function () {
try {
tags += decodeURIComponent($(this).find("a")[0].href).split("&word=")[1] + " ";
} catch (e) {}
});
/*
$("._18Ri3hp").children().contents().not($('._3HQXfEP')).each(function () {
tags += $(this).text() + " ";
});
*/
/*
var tagslist = $("._18Ri3hp").children();
for (var i = 0; i < tagslist.length - 1; i++) {
decodeURIComponent($("._18Ri3hp").children()[0].firstChild.href).split("&word=")[1];
tags += tagslist[i].innerText + " ";
}
*/
if (tags != "") {
if ($("._2B0vXTj ._2zvNuR6")[0] != null) {
clearInterval(tagsInterval);
return;
} else {
$("._2B0vXTj")[0].children[0].href = "javascript:void(0)";
$("._2B0vXTj").on("click", function () {
bkm();
return false;
});
//console.log(tags);
clearInterval(tagsInterval);
}
}
}
// ajaxでブックマークする関数
function bkm() {
//var illustid = $("input[name=illust_id").val();
//var tt = $("input[name=tt]").val();
//var type = $("input[name=type]:eq(1)").val();
//var illustid = pixiv.context.queries.id;
var illustid = document.location.href.split("illust_id=")[1];
var url = "https://www.pixiv.net/bookmark_add.php?id=" + illustid;
var tt = globalInitData.token;
if (!add_all_tags) {
tags = "";
}
//var illusttype = "illust";
try {
if ($("._2wuGX9T")[0].innerText == "R-18" && r18private) {
bkm_restrict = 1;
}
} catch (e) {}
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: {
mode: "add",
tt: tt,
id: illustid,
from_sid: "",
type: "illust",
//from_sid: "",
comment: "",
tag: tags,
restrict: bkm_restrict,
success: function () {
$("._2B0vXTj svg")[0].style.fill = "#ff4060";
$("._2B0vXTj svg path")[0].style.fill = "#ff4060";
$("._2B0vXTj")[0].children[0].href = "https://www.pixiv.net/bookmark_add.php?type=illust&illust_id=" + illustid;
$("._2B0vXTj").unbind("click");
}
},
});
if (givelike) {
$("._1LaERdu > button")[0].click();
}
}
/////// BELOW FUNCTIONS ARE ///////
/////// FOR THE OLD DESIGN ///////
function oldstartingUp() {
tags = "";
$(".tag > .text").contents().not($('span')).each(function () {
tags += $(this).text() + " ";
});
$(".add-bookmark").on("click", function () {
//e.preventDefault();
oldbkm();
return false;
});
}
function oldbkm() {
//var illustid = $("input[name=illust_id").val();
//var tt = $("input[name=tt]").val();
//var type = $("input[name=type]:eq(1)").val();
var illustid = pixiv.context.illustId;
var url = "https://www.pixiv.net/bookmark_add.php?id=" + illustid;
var tt = pixiv.context.token;
var type = pixiv.context.type;
if ($(".r-18")[0] != null && r18private) {
bkm_restrict = 1;
}
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: {
mode: "add",
tt: tt,
id: illustid,
type: type,
//from_sid: "",
comment: "",
tag: tags,
restrict: bkm_restrict,
success: function () {
if ($(".add-bookmark").text() == "ブックマークに追加") {
$(".add-bookmark").html($('<span>', {
class: 'description',
html: "ブックマークを編集"
}));
} else if ($(".add-bookmark").text() == "添加收藏") {
$(".add-bookmark").html($('<span>', {
class: 'description',
html: "编辑收藏"
}));
} else {
$(".add-bookmark").html($('<span>', {
class: 'description',
html: "Edit Bookmark"
}));
}
$(".add-bookmark")[0].classList.add("edit-bookmark");
$(".add-bookmark")[0].classList.add("bookmarked");
$(".edit-bookmark")[0].classList.remove("add-bookmark");
}
},
});
if (givelike) {
$("._nice-button").trigger("click");
}
}