Greasy Fork 支持简体中文。

To 4plebs

To archive.4plebs.org

目前為 2025-03-20 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name To 4plebs
  3. // @namespace http://github.com/hangjeff
  4. // @version 2025-03-20_16h45m
  5. // @description To archive.4plebs.org
  6. // @author hangjeff
  7. // @match https://boards.4chan.org/adv*
  8. // @match https://boards.4chan.org/f/*
  9. // @match https://boards.4chan.org/hr/*
  10. // @match https://boards.4chan.org/o/*
  11. // @match https://boards.4chan.org/pol/*
  12. // @match https://boards.4chan.org/s4s/*
  13. // @match https://boards.4chan.org/sp/*
  14. // @match https://boards.4chan.org/tg/*
  15. // @match https://boards.4chan.org/trv/*
  16. // @match https://boards.4chan.org/tv/*
  17. // @match https://boards.4chan.org/x/*
  18. // @exclude https://boards.4chan.org/search*
  19. // @grant none
  20. // ==/UserScript==
  21.  
  22. (function() {
  23. 'use strict';
  24.  
  25. // Your code here...
  26. document.querySelectorAll('.thread').forEach(function(thread) {
  27. let Komica_Thread_Url = window.location.href;
  28. if(!Komica_Thread_Url.includes('thread')){
  29. Komica_Thread_Url = Komica_Thread_Url.substring(0, Komica_Thread_Url.lastIndexOf('/') + 1);
  30. let replyLink = thread.querySelector('.postContainer .replylink');
  31. if(replyLink && replyLink.getAttribute('href') !== undefined){
  32. Komica_Thread_Url = Komica_Thread_Url + replyLink.getAttribute('href');
  33. //alert(Komica_Thread_Url);
  34. }
  35. else{
  36. // Komica_Thread_Url = Komica_Thread_Url + $(this).find('.threadpost').find('.category a:last').attr('href');
  37. console.log('404 Thread Not Found!');
  38. }
  39. }
  40. // alert( Komica_Thread_Url);
  41. let postInfo = thread.querySelector('.postInfo');
  42. if(postInfo){
  43. let Redirect_Btn = ArchiveIs_Create(Komica_Thread_Url.replace("https://boards.4chan.org/", "https://archive.4plebs.org/"),
  44. '4plebs');
  45. postInfo.parentNode.insertBefore(Redirect_Btn, postInfo.nextSibling);
  46. }
  47. })
  48.  
  49. function ArchiveIs_Create(myUrl, myTarget){
  50. let btn = document.createElement('button');
  51. btn.textContent = 'Redirect to ' + myTarget;
  52. btn.tabIndex = 1;
  53. btn.style.display = 'inline-block';
  54. btn.style.backgroundColor = 'green';
  55. btn.addEventListener('click', function(event) {
  56. event.preventDefault();
  57. window.open(myUrl, '_blank');
  58. });
  59. return btn;
  60. }
  61.  
  62. })();