DF Bookmarks

Tool to let you navigate easier through DF

目前为 2017-09-27 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name DF Bookmarks
  3. // @version 1.431
  4. // @description Tool to let you navigate easier through DF
  5. // @author A Meaty Alt
  6. // @include /onlinezombiemmo/index.php/
  7. // @exclude fairview.deadfrontier.com/onlinezombiemmo/index.php?page=21
  8. // @exclude https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=21
  9. // @grant none
  10. // @require https://greasyfork.org/scripts/32816-append-script/code/Append%20Script.js?version=215508
  11. // @noframes
  12. // @run-at document-idle
  13. // @namespace
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. var elements = {};
  18.  
  19. var hamburgerImg = document.createElement("img");
  20. hamburgerImg.src = "https://puu.sh/xqhEm/facede3064.png";
  21. hamburgerImg.style.height = "60px";
  22. elements.hamburgerLink = document.createElement("span");
  23. elements.hamburgerLink.id = "hamburger";
  24. elements.hamburgerLink.appendChild(hamburgerImg);
  25. elements.hamburgerLink.setAttribute("onclick", "showMenu()");
  26. elements.hamburgerLink.style.float += " left";
  27. elements.hamburgerLink.style.cursor += "pointer";
  28. elements.hamburgerLink.style.textAlign = "center";
  29. function showMenu(){
  30. var menu = document.getElementById("menu_holder");
  31. if(menu){
  32. if(menu.hidden)
  33. menu.hidden = false;
  34. else
  35. menu.hidden = true;
  36. }
  37. else
  38. createMenu();
  39. }
  40. appendScript(showMenu.toString());
  41.  
  42. function createMenu(){
  43. function createBookmark(name, link, id){
  44. var newBookmarkHolder = document.createElement("span");
  45. newBookmarkHolder.classList.add("newBookmark");
  46. newBookmarkHolder.id = id;
  47. newBookmarkHolder.innerHTML += "<a href='"+link+"'>"+name + "</a>";
  48. newBookmarkHolder.style.marginLeft = "30px";
  49. var removeBookmarkImg = document.createElement("img");
  50. removeBookmarkImg.src = "https://cdn1.iconfinder.com/data/icons/perfect-flat-icons-2/512/Erase-2.png";
  51. removeBookmarkImg.style.height = "15px";
  52. removeBookmarkImg.style.width = "15px";
  53. removeBookmarkImg.style.cursor = "pointer";
  54. removeBookmarkImg.style.marginLeft = "10px";
  55. removeBookmarkImg.style.verticalAlign = "middle";
  56. removeBookmarkImg.id = "remove_"+id;
  57. removeBookmarkImg.setAttribute("onclick", 'var bookmarks = JSON.parse(localStorage.getItem("df_bookmarks"));delete bookmarks[this.parentElement.id];localStorage.setItem("df_bookmarks", JSON.stringify(bookmarks));this.parentElement.outerHTML = ""; ');
  58. newBookmarkHolder.appendChild(removeBookmarkImg);
  59. document.getElementById("new_bookmark_holder").appendChild(newBookmarkHolder);
  60. var bookmarks = localStorage.getItem("df_bookmarks")? JSON.parse(localStorage.getItem("df_bookmarks")) : {};
  61. bookmarks[newBookmarkHolder.id] = name+"|"+link;
  62. localStorage.setItem("df_bookmarks", JSON.stringify(bookmarks));
  63. }
  64. appendScript(createBookmark.toString());
  65. function loadBookmarks(){
  66. if(localStorage.getItem("df_bookmarks")){
  67. var bookmarks = JSON.parse(localStorage.getItem("df_bookmarks"));
  68. for(var id in bookmarks){
  69. var bookmark = bookmarks[id].split("|");
  70. createBookmark(bookmark[0], bookmark[1], id);
  71. }
  72. }
  73. }
  74. function createAddBookmark(){
  75. function addBookmark(){
  76. var name = prompt("Please enter a name for the bookmark");
  77. if(name){
  78. var link = prompt("Please enter a link for the bookmark (Don't forget the http:// or https:// at the begining of the address)", location.href);
  79. if(link){
  80. var amountBookmarks = localStorage.getItem("amountBookmarks");
  81. if(!amountBookmarks){
  82. localStorage.setItem("amountBookmarks", 0);
  83. }
  84. createBookmark(name, link, "bookmark_"+(amountBookmarks+1));
  85. localStorage.setItem("amountBookmarks", parseInt(localStorage.getItem("amountBookmarks"))+1);
  86. }
  87. else{
  88. alert("Error adding bookmark");
  89. }
  90. }
  91. else{
  92. alert("Error adding bookmark");
  93. }
  94. }
  95. appendScript(addBookmark.toString());
  96. var addBookmarkImg = document.createElement("img");
  97. addBookmarkImg.src = "https://puu.sh/xqUuv/a40853e448.png";
  98. addBookmarkImg.style.height = "30px";
  99. addBookmarkImg.style.position = "relative";
  100. addBookmarkImg.style.cursor = "pointer";
  101. addBookmarkImg.style.marginBottom = "10px";
  102. addBookmarkImg.style.right = "12px";
  103. addBookmarkImg.style.bottom = "5px";
  104. addBookmarkImg.style.float = "right";
  105. addBookmarkImg.setAttribute("onclick", "addBookmark()");
  106. document.getElementById("menu_holder").appendChild(addBookmarkImg);
  107. }
  108. var menuHolder = document.createElement("div");
  109. menuHolder.style.position = "relative";
  110. menuHolder.style.top = "10px";
  111. menuHolder.id = "menu_holder";
  112. var bookmarkHolder = document.createElement("span");
  113. bookmarkHolder.id = "new_bookmark_holder";
  114. menuHolder.appendChild(bookmarkHolder);
  115. var table = document.getElementsByTagName("table")[6];
  116. table.appendChild(menuHolder);
  117. loadBookmarks();
  118. createAddBookmark();
  119. }
  120.  
  121. var outpostImg = document.createElement("img");
  122. outpostImg.src = "http://i.imgur.com/JBiQcYr.png";
  123. outpostImg.src = "http://i.imgur.com/tx2pDJl.png";
  124. outpostImg.height = "60";
  125. elements.outpostLink = document.createElement("a");
  126. elements.outpostLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php";
  127. elements.outpostLink.appendChild(outpostImg);
  128. elements.outpostLink.style.float += " left";
  129. elements.outpostLink.style.textAlign = "center";
  130. elements.outpostLink.style.marginLeft = "-6px";
  131.  
  132. var creditImg = document.createElement("img");
  133. creditImg.src = "http://i.imgur.com/0hHHAX1.png";
  134. creditImg.src = "http://i.imgur.com/UyeDNSv.png";
  135. creditImg.height = "60";
  136. elements.creditLink = document.createElement("a");
  137. elements.creditLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=28";
  138. elements.creditLink.appendChild(creditImg);
  139. elements.creditLink.style.float += " left";
  140. elements.creditLink.style.textAlign = "center";
  141. elements.creditLink.style.marginLeft = "-13px";
  142.  
  143. var forumImg = document.createElement("img");
  144. forumImg.src = "http://i.imgur.com/3LWYg6a.png";
  145. forumImg.src = "http://i.imgur.com/EqPoo0t.png";
  146. forumImg.height = "60";
  147. elements.forumLink = document.createElement("a");
  148. elements.forumLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php?action=forum";
  149. elements.forumLink.appendChild(forumImg);
  150. elements.forumLink.style.float += " left";
  151. elements.forumLink.style.textAlign = "center";
  152. elements.forumLink.style.marginLeft = "-13px";
  153.  
  154. var marketImg = document.createElement("img");
  155. marketImg.src = "http://i.imgur.com/xgof6pH.png";
  156. marketImg.src = "http://i.imgur.com/EM5maHZ.png";
  157. marketImg.height = "60";
  158. elements.marketLink = document.createElement("a");
  159. elements.marketLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=35";
  160. elements.marketLink.appendChild(marketImg);
  161. elements.marketLink.style.float += " left";
  162. elements.marketLink.style.textAlign = "center";
  163. elements.marketLink.style.marginLeft = "-13px";
  164.  
  165. var bankImg = document.createElement("img");
  166. bankImg.src = "http://i.imgur.com/P9FdoTu.png";
  167. bankImg.src = "http://i.imgur.com/mvVrjK5.png";
  168. bankImg.height = "60";
  169. elements.bankLink = document.createElement("a");
  170. elements.bankLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=15";
  171. elements.bankLink.appendChild(bankImg);
  172. elements.bankLink.style.float += " left";
  173. elements.bankLink.style.textAlign = "center";
  174. elements.bankLink.style.marginLeft = "-13px";
  175.  
  176. var storageImg = document.createElement("img");
  177. storageImg.src = "http://i.imgur.com/T5YJt8q.png";
  178. storageImg.src = "http://i.imgur.com/1LA73eo.png";
  179. storageImg.height = "60";
  180. elements.storageLink = document.createElement("a");
  181. elements.storageLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=50";
  182. elements.storageLink.appendChild(storageImg);
  183. elements.storageLink.style.float += " left";
  184. elements.storageLink.style.textAlign = "center";
  185. elements.storageLink.style.marginLeft = "-13px";
  186.  
  187. var logoutImg = document.createElement("img");
  188. logoutImg.src = "http://i.imgur.com/4vd3009.png";
  189. logoutImg.src = "http://i.imgur.com/xMV60fY.png";
  190. logoutImg.height = "60";
  191. elements.logoutLink = document.createElement("a");
  192. elements.logoutLink.href = getLogoutLink();
  193. elements.logoutLink.appendChild(logoutImg);
  194. elements.logoutLink.style.float = "right";
  195. elements.logoutLink.style.marginRight = "-6px";
  196. elements.logoutLink.style.textAlign = "center";
  197.  
  198. var profileImg = document.createElement("img");
  199. profileImg.src = "http://i.imgur.com/0WasEGC.png";
  200. profileImg.src = "http://i.imgur.com/EWqNRos.png";
  201. profileImg.height = "59";
  202. elements.profileLink = document.createElement("a");
  203. elements.profileLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php?action=profile";
  204. elements.profileLink.style.float = "right";
  205. elements.profileLink.appendChild(profileImg);
  206. elements.profileLink.style.textAlign = "center";
  207. elements.profileLink.style.marginRight = "-13px";
  208.  
  209. /*var inventoryImg = document.createElement("img");
  210. inventoryImg.src = "http://i.imgur.com/n3ZvMLR.png";
  211. inventoryImg.src = "http://i.imgur.com/mguv0Gp.png";
  212. inventoryImg.height = "60";
  213. elements.inventoryLink = document.createElement("a");
  214. elements.inventoryLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=25";
  215. elements.inventoryLink.style.float = "right";
  216. elements.inventoryLink.appendChild(inventoryImg);
  217. elements.inventoryLink.style.textAlign = "center";
  218. elements.inventoryLink.style.marginRight = "-13px";*/
  219.  
  220. var yardImg = document.createElement("img");
  221. yardImg.src = "http://i.imgur.com/7nI2BaQ.png";
  222. yardImg.src = "http://i.imgur.com/mn7jJJj.png";
  223. yardImg.height = "60";
  224. elements.yardLink = document.createElement("a");
  225. elements.yardLink.href = "https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=24";
  226. elements.yardLink.style.float = "right";
  227. elements.yardLink.appendChild(yardImg);
  228. elements.yardLink.style.textAlign = "center";
  229. elements.yardLink.style.marginRight = "-13px";
  230.  
  231. function getLogoutLink(){
  232. return $("img[name=logout]").parent()[0].href;
  233. }
  234.  
  235. var table = document.getElementsByTagName("table")[6];
  236. table.innerHTML = "<div id=bookmark_holder>";
  237. dst = document.getElementById("bookmark_holder");
  238. dst.style.overflow = "hidden";
  239.  
  240. for(var element in elements){
  241. if(element.indexOf("Link") > -1){
  242. dst.appendChild(elements[element]);
  243. }
  244. }
  245. table.style.backgroundImage = "url(https://puu.sh/xm1DU/7f0d182487.png)";
  246. table.style.transform = "scaleY(1.2)";
  247. table.style.position = "relative";
  248. table.style.top = "5px";
  249.  
  250. var annoyingBiatch = document.getElementsByTagName("tr")[1];
  251. annoyingBiatch.style.height = "220px";
  252. appendScript(createMenu.toString());
  253. })();