Wakfu link

Add useful link to wakfu elements, wakfu wiki, and encyclopedia

  1. // ==UserScript==
  2. // @name Wakfu link
  3. // @namespace eight04.blogspot.com
  4. // @description Add useful link to wakfu elements, wakfu wiki, and encyclopedia
  5. // @include http://wakfu-elements.com/items/view/*
  6. // @include http://www.wakfu.com/en/mmorpg/game-guide/*
  7. // @include http://www.wakfu.asia/en/mmorpg/game/*
  8. // @include http://wakfu.wikia.com/wiki/*
  9. // @version 1.1.1
  10. // @grant GM_addStyle
  11. // ==/UserScript==
  12.  
  13. "use strict";
  14.  
  15. GM_addStyle(".wakfu-links { font-size: 0.7em; margin: 3px; }" +
  16. "#infos_detail .wakfu-links { font-size: 14px!important; }");
  17.  
  18. init();
  19. document.addEventListener("DOMNodeInserted", init, false);
  20.  
  21. function init(){
  22. if(document.querySelector(".wakfu-links-container")){
  23. return;
  24. }
  25. var title = getTitle();
  26. var links = makeLinks(title);
  27. var header = getHeader();
  28.  
  29. header.insertBefore(links, header.childNodes[0].nextSibling)
  30. }
  31. function getTitle(){
  32. var t = getHeader().childNodes[0].textContent;
  33. return t;
  34. }
  35.  
  36. function getHeader(){
  37. var h = document.querySelector("#WikiaPageHeader > h1") ||
  38. document.querySelector("#infos_detail > .title_item > h2") ||
  39. document.querySelector("#l-mainBody > .itemWrapper > h3");
  40. return h;
  41. }
  42.  
  43. function makeLinks(t){
  44. var sites = [
  45. {
  46. name: "Encyclopedia",
  47. url: "http://www.wakfu.asia/en/mmorpg/game/search?text="
  48. },
  49. {
  50. name: "Wiki",
  51. url: "http://wakfu.wikia.com/wiki/"
  52. },
  53. {
  54. name: "Elements",
  55. url: "http://wakfu-elements.com/search?search="
  56. }
  57. ]
  58. var d = document.createElement("span");
  59. d.className = "wakfu-links-container";
  60. var i;
  61. for(i = 0; i < sites.length; i++){
  62. var a = document.createElement("a");
  63. a.textContent = sites[i].name;
  64. a.setAttribute("href", sites[i].url + t);
  65. a.className = "wakfu-links";
  66. a.onclick = function(){
  67. location.href = this.href;
  68. return false;
  69. }
  70. d.appendChild(a);
  71. }
  72. return d;
  73. }