Guest User

Untitled

a guest
Mar 31st, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Goodreads Mobilism search
  3. // @namespace https://greasyfork.org/en/users/78880
  4. // @version 0.2
  5. // @description Add "Search Mobilism" button to Goodreads
  6. // @author mobilism
  7. // @include https://www.goodreads.com/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. console.log("[G+] Tweaking Goodreads...");
  12.  
  13. var page = window.location.pathname.split('/')[1];
  14.  
  15. if(page === 'book'){
  16. var bookTitle = getBookTitle(document.getElementById("bookTitle"));
  17. var MobilismSearchUrl = "https://forum.mobilism.org/search.php?keywords=" + bookTitle;
  18.  
  19. // Add 'Search Mobilism' button
  20. var buttonBar = document.getElementById("buyButtonContainer");
  21. if (buttonBar === null || buttonBar == "null") {
  22. buttonBar = document.getElementById("asyncBuyButtonContainer");
  23. }
  24. var buttonUl = buttonBar.getElementsByTagName("ul");
  25. var MobilismButton = document.createElement("li");
  26. MobilismButton.innerHTML = '<a id="MobilismLink" href="' + MobilismSearchUrl + '" target="_blank" class="buttonBar">Search Mobilism</a>';
  27. MobilismButton.className = "Button";
  28. buttonUl[0].appendChild(MobilismButton);
  29. console.log("[G+] 'Search Mobilism' button added!");
  30. }else if(page === 'review'){
  31. var bookList = document.querySelectorAll('#booksBody .title div a');
  32. // Loop over all the books
  33. for(var i=0; i<bookList.length; i++){
  34. var MobilismSearchUrl = "https://forum.mobilism.org/search.php?keywords=" + getBookTitle(bookList[i]);
  35. // Add 'Search Mobilism' button
  36. var newLink = document.createElement('a');
  37. var linkText = document.createTextNode('[Search Mobilism]');
  38. newLink.appendChild(linkText);
  39. newLink.setAttribute('href',MobilismSearchUrl);
  40. newLink.setAttribute('style','color:#b3b3b3;font-style:italic');
  41. bookList[i].parentNode.parentNode.appendChild(newLink);
  42. }
  43. console.log("[G+] 'Search Mobilism' buttons added!");
  44. }
  45.  
  46. // Grab book title (and only title) from the element
  47. function getBookTitle(el){
  48. var bookTitle = el.innerHTML.trim().split('<', 1)+'';
  49. console.log("Book title: " + bookTitle.trim());
  50. return bookTitle.trim();
  51. }
Add Comment
Please, Sign In to add comment