Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Goodreads Mobilism search
- // @namespace https://greasyfork.org/en/users/78880
- // @version 0.2
- // @description Add "Search Mobilism" button to Goodreads
- // @author mobilism
- // @include https://www.goodreads.com/*
- // @grant none
- // ==/UserScript==
- console.log("[G+] Tweaking Goodreads...");
- var page = window.location.pathname.split('/')[1];
- if(page === 'book'){
- var bookTitle = getBookTitle(document.getElementById("bookTitle"));
- var MobilismSearchUrl = "https://forum.mobilism.org/search.php?keywords=" + bookTitle;
- // Add 'Search Mobilism' button
- var buttonBar = document.getElementById("buyButtonContainer");
- if (buttonBar === null || buttonBar == "null") {
- buttonBar = document.getElementById("asyncBuyButtonContainer");
- }
- var buttonUl = buttonBar.getElementsByTagName("ul");
- var MobilismButton = document.createElement("li");
- MobilismButton.innerHTML = '<a id="MobilismLink" href="' + MobilismSearchUrl + '" target="_blank" class="buttonBar">Search Mobilism</a>';
- MobilismButton.className = "Button";
- buttonUl[0].appendChild(MobilismButton);
- console.log("[G+] 'Search Mobilism' button added!");
- }else if(page === 'review'){
- var bookList = document.querySelectorAll('#booksBody .title div a');
- // Loop over all the books
- for(var i=0; i<bookList.length; i++){
- var MobilismSearchUrl = "https://forum.mobilism.org/search.php?keywords=" + getBookTitle(bookList[i]);
- // Add 'Search Mobilism' button
- var newLink = document.createElement('a');
- var linkText = document.createTextNode('[Search Mobilism]');
- newLink.appendChild(linkText);
- newLink.setAttribute('href',MobilismSearchUrl);
- newLink.setAttribute('style','color:#b3b3b3;font-style:italic');
- bookList[i].parentNode.parentNode.appendChild(newLink);
- }
- console.log("[G+] 'Search Mobilism' buttons added!");
- }
- // Grab book title (and only title) from the element
- function getBookTitle(el){
- var bookTitle = el.innerHTML.trim().split('<', 1)+'';
- console.log("Book title: " + bookTitle.trim());
- return bookTitle.trim();
- }
Add Comment
Please, Sign In to add comment