Advertisement
Guest User

Slashdot Comment Fixer

a guest
Jun 26th, 2015
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Slashdot Fixer
  3. // @namespace http://your.homepage/
  4. // @version 0.1
  5. // @description Fix the comments links!
  6. // @author You
  7. // @match http://slashdot.org/*
  8. // @match http://slashdot.org/?source=autorefresh
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. function hasClass(docElement, matchClass)
  13. {
  14. return ((' ' + docElement.className + ' ').indexOf(' ' + matchClass + ' ') > -1)
  15. }
  16.  
  17. function getElementByTagAndClass(docElement, tagName, matchClass)
  18. {
  19. var elements = docElement.getElementsByTagName(tagName), i;
  20. for( i in elements )
  21. {
  22. if ( hasClass(elements[i], matchClass ))
  23. {
  24. return elements[i];
  25. }
  26. }
  27. return null;
  28. }
  29.  
  30. function fixArticle(docElement, index, ar)
  31. {
  32. if ( hasClass(docElement, "fhitem"))
  33. {
  34. var contentElement = getElementByTagAndClass(docElement, "span","comment-bubble");
  35. if ( contentElement != null )
  36. {
  37. var replaceElement = getElementByTagAndClass(docElement, "div","popularity");
  38. if ( replaceElement != null )
  39. {
  40. var contentLink = contentElement.firstElementChild.cloneNode(true);
  41. contentLink.textContent = contentLink.textContent+" comments";
  42. // var contentLink = contentElement.innerHTML;
  43. console.log("Article: "+docElement.id+" -> "+contentLink.outerHTML);
  44. replaceElement.innerHTML = contentLink.outerHTML;
  45. }
  46. }
  47. }
  48. }
  49.  
  50.  
  51. var articles = document.getElementsByTagName("article");
  52. var inputList = Array.prototype.slice.call(articles);
  53. console.log(inputList.length);
  54. inputList.forEach(fixArticle);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement