pixivEasyBookmark

モバイル版みたいにすぐにブックマークできるようにするやつ

  1. // ==UserScript==
  2. // @name pixivEasyBookmark
  3. // @namespace http://myskng.xyz/
  4. // @version 0.1.3
  5. // @description モバイル版みたいにすぐにブックマークできるようにするやつ
  6. // @author myskng
  7. // @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
  8. // @require https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js
  9. // @resource toastr https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css
  10. // @match *://www.pixiv.net/member_illust.php*
  11. // @grant GM_getResourceText
  12. // @grant GM_addStyle
  13. // ==/UserScript==
  14.  
  15. var pixiv_bookmark;
  16. (function (pixiv_bookmark) {
  17. var scraper;
  18. (function (scraper) {
  19. function findIDFromIllustID(illustid, callback) {
  20. //search for max 100pages
  21. var doajax = function (pageid) {
  22. var counter = pageid;
  23. $.ajax({
  24. type: "GET",
  25. url: "//www.pixiv.net/bookmark.php?rest=show&p=" + pageid,
  26. success: function (data) {
  27. var retflag = false;
  28. $(data).find(".image-item").each(function (index, val) {
  29. if ($(this).find("img")[0].getAttribute("data-id") == illustid) {
  30. //item found
  31. callback($(this).find("input")[0].getAttribute("value"));
  32. retflag = true;
  33. }
  34. });
  35. //if not found
  36. counter++;
  37. if (counter > 100 || retflag)
  38. return;
  39. doajax(counter); //call myself
  40. }
  41. });
  42. };
  43. doajax(1);
  44. }
  45. scraper.findIDFromIllustID = findIDFromIllustID;
  46. })(scraper = pixiv_bookmark.scraper || (pixiv_bookmark.scraper = {}));
  47. })(pixiv_bookmark || (pixiv_bookmark = {}));
  48. /// <reference path="./findbookmark.ts"/>
  49. var pixiv_bookmark;
  50. /// <reference path="./findbookmark.ts"/>
  51. (function (pixiv_bookmark) {
  52. function main() {
  53. var style = GM_getResourceText('toastr');
  54. GM_addStyle(style);
  55. $(".bookmark-container").append("<a href=\"javascript:void(0)\" style=\"display:none\" id=\"us_bookmark\" class=\"_bookmark-toggle-button add-bookmark\">\n <span class=\"bookmark-icon\"></span>\n <span class=\"description\">\u5373\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3059\u308B</span>\n </a>");
  56. $(".bookmark-container").append("<a href=\"javascript:void(0)\" style=\"display:none\" id=\"us_unbookmark\" class=\"_bookmark-toggle-button add-bookmark\">\n <span class=\"bookmark-icon\"></span>\n <span class=\"description\">\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u5916\u3059</span>\n </a>");
  57. ($(".edit-bookmark").length == 0) ? $("#us_bookmark").show() : $("#us_unbookmark").show();
  58. $('#us_bookmark').on('click', function () { return onBookmarkClick(); });
  59. $('#us_unbookmark').on('click', function () { return onUnBookmarkClick(); });
  60. }
  61. pixiv_bookmark.main = main;
  62. function onBookmarkClick() {
  63. $.ajax({
  64. type: "POST",
  65. url: "//www.pixiv.net/bookmark_add.php?id=" + pixiv.context.illustId,
  66. data: {
  67. "mode": "add",
  68. "tt": pixiv.context.token,
  69. "id": pixiv.context.illustId,
  70. "type": "illust",
  71. "from_sid": "",
  72. "comment": "",
  73. "tag": "",
  74. "restrict": "0"
  75. },
  76. success: function (j_data) {
  77. toastr["success"]("ブックマークに追加しました");
  78. $('#us_bookmark').hide();
  79. $('#us_unbookmark').show();
  80. }
  81. });
  82. }
  83. function onUnBookmarkClick() {
  84. //find id
  85. pixiv_bookmark.scraper.findIDFromIllustID(pixiv.context.illustId, function (contextid) {
  86. $.ajax({
  87. type: "POST",
  88. url: "//www.pixiv.net/bookmark_setting.php",
  89. data: {
  90. "type": "",
  91. "tt": pixiv.context.token,
  92. "tag": "",
  93. "untagged": "0",
  94. "rest": "show",
  95. "p": "1",
  96. "book_id[]": contextid,
  97. "add_tag": "",
  98. "del": "ブックマーク解除"
  99. },
  100. success: function (j_data) {
  101. toastr.success("ブックマークを解除しました");
  102. $('#us_bookmark').show();
  103. $('#us_unbookmark').hide();
  104. },
  105. error: function () {
  106. toastr.warning("(多分)ブックマークを解除しました");
  107. $('#us_bookmark').show();
  108. $('#us_unbookmark').hide();
  109. }
  110. });
  111. });
  112. }
  113. })(pixiv_bookmark || (pixiv_bookmark = {}));
  114. /// <reference path="./main.ts"/>
  115. pixiv_bookmark.main();
  116. //# sourceMappingURL=pixiv_bookmark.user.js.map

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址