Greasy Fork is available in English.

Pixiv壁纸设置

一键下载Pixiv图片并设置为壁纸

  1. // ==UserScript==
  2. // @name Pixiv壁纸设置
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description 一键下载Pixiv图片并设置为壁纸
  6. // @author 您的名字
  7. // @match *://www.pixiv.net/*
  8. // @grant GM_xmlhttpRequest
  9. // ==/UserScript==
  10.  
  11. (function () {
  12. 'use strict';
  13.  
  14. // 等待页面加载完成
  15. window.addEventListener('load', () => {
  16. // 在页面右上角添加按钮
  17. const button = document.createElement('button');
  18. button.textContent = '设置为壁纸';
  19. button.style.position = 'fixed';
  20. button.style.top = '10px';
  21. button.style.right = '10px';
  22. button.style.zIndex = '9999';
  23. button.style.padding = '10px';
  24. button.style.backgroundColor = '#f39c12';
  25. button.style.color = 'white';
  26. button.style.border = 'none';
  27. button.style.borderRadius = '5px';
  28. button.style.cursor = 'pointer';
  29.  
  30. document.body.appendChild(button);
  31.  
  32. // 按钮点击事件
  33. button.addEventListener('click', () => {
  34. // 获取图片URL
  35. const imageElement = document.querySelector('.sc-1qpw8k9-1 img'); // Pixiv 图片的 CSS 选择器
  36. if (!imageElement) {
  37. alert('未找到图片,请确保在正确的页面上。');
  38. return;
  39. }
  40.  
  41. const imageUrl = imageElement.src.replace(/c\/\d+x\d+\//, ''); // 去掉缩略图尺寸参数
  42. console.log('图片URL:', imageUrl);
  43.  
  44. // 调用本地服务器接口
  45. GM_xmlhttpRequest({
  46. method: 'POST',
  47. url: 'http://localhost:3000/set-wallpaper', // 您的本地服务器地址
  48. headers: {
  49. 'Content-Type': 'application/json',
  50. },
  51. data: JSON.stringify({ imageUrl }),
  52. onload: (response) => {
  53. if (response.status === 200) {
  54. alert('壁纸已更新!');
  55. } else {
  56. alert('设置壁纸时发生错误,请检查服务器。');
  57. }
  58. },
  59. onerror: (error) => {
  60. alert('无法连接到本地服务器,请确保服务器正在运行。');
  61. console.error(error);
  62. },
  63. });
  64. });
  65. });
  66. })();