Goodreads Plus DEV

Add "Search MAM" button to Goodreads

目前为 2022-08-21 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Goodreads Plus DEV
  3. // @namespace https://greasyfork.org/en/users/78880
  4. // @version 0.3.8
  5. // @description Add "Search MAM" button to Goodreads
  6. // @author Slengpung
  7. // @include https://www.goodreads.com/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. console.log("[G+] Tweaking Goodreads...");
  13.  
  14. var page = window.location.pathname.split('/')[1];
  15.  
  16. if(page === 'book'){
  17. console.log("[G+] We got a book URL");
  18. var bookTitle = document.getElementsByClassName("Text__title1")[0].innerHTML;
  19. console.log("[G+] Book title: " + bookTitle);
  20. var mamSearchUrl = "https://www.myanonamouse.net/tor/browse.php?tor[text]=" + bookTitle;
  21.  
  22. // Add 'Search MAM' button
  23. var buttonBar = document.getElementsByClassName("BookActions")[0];
  24. var mamButton = document.getElementsByClassName("BookActions__button")[0].cloneNode(true);
  25. mamButton.innerHTML = '<div class="BookActions__button"><a href="' + mamSearchUrl + '">' +
  26. '<div class="Button__container Button__container--block">' +
  27. '<button type="button" class="Button Button--secondary Button--medium Button--block">' +
  28. '<span class="Button__labelItem">Search MAM</span></button></div></a></div>';
  29. buttonBar.appendChild(mamButton)
  30. console.log("[G+] 'Search MAM' button added!");
  31. }else if(page === 'review'){
  32. var bookList = document.querySelectorAll('#booksBody .title div a');
  33. // Loop over all the books
  34. for(var i=0; i<bookList.length; i++){
  35. var mamSearchUrl = "https://www.myanonamouse.net/tor/browse.php?tor[text]=" + getBookTitle(bookList[i]);
  36. // Add 'Search MAM' button
  37. var newLink = document.createElement('a');
  38. var linkText = document.createTextNode('[Search MAM]');
  39. newLink.appendChild(linkText);
  40. newLink.setAttribute('href',mamSearchUrl);
  41. newLink.setAttribute('style','color:#b3b3b3;font-style:italic');
  42. bookList[i].parentNode.parentNode.appendChild(newLink);
  43. }
  44. console.log("[G+] 'Search MAM' buttons added!");
  45. }