JC Search Remove Unwanted Elements

JoyClub SEARCH: remove unwanted elements

目前为 2015-04-26 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name JC Search Remove Unwanted Elements
  3. // @namespace JC Search Remove Unwanted Elements
  4. // @description JoyClub SEARCH: remove unwanted elements
  5. // @include http://www.joyclub.de/mitglieder/*
  6. // @version 1
  7. // @grant none
  8. // ==/UserScript==
  9.  
  10. var deleteList = new Array();
  11.  
  12. removeHeader();
  13. removeFooter();
  14. changeDates();
  15.  
  16. execDeleteList();
  17.  
  18. //alert("Ende!");
  19.  
  20.  
  21. function changeDates () {
  22. // Analyze "Aktuelle Dates"
  23. var date_list;
  24. var dates;
  25. var num_dates;
  26. var i;
  27. date_list = document.getElementsByClassName("cards"); // date_list
  28. if (date_list.length <= 0) return;
  29.  
  30. dates = date_list[0].getElementsByClassName("col-lg-3"); // ha_2
  31. if (dates.length <= 0) return;
  32. num_dates = dates.length;
  33.  
  34. for (i=0; i<num_dates; i++)
  35. changeDate(dates[i]);
  36. }
  37.  
  38.  
  39. function changeDate (date) {
  40. var DateObject = {Title:"", Text:"", Nick:"", Age:"", Gender:"", Verified:"", Location:"", Distance:"", Voting:"", Online:""};
  41.  
  42. // make box smaller
  43. date.style.height="136px";
  44. date.style.width="136px";
  45. //alert(date.innerHTML);
  46. changeAvatar(date, DateObject);
  47. changeDateInfo(date, DateObject);
  48. if ((DateObject.Voting.substr(0,5) == "Sorry") || (DateObject.Online == ""))
  49. deleteList.push(date);
  50.  
  51. //alert("Nick: " + DateObject.Nick + "\r\nAge: " + DateObject.Age + "\r\nGender: " + DateObject.Gender + "\r\nverified: " + DateObject.Verified + "\r\nLocation: " + DateObject.Location + "\r\nDistance: " + DateObject.Distance + "\r\nVoting: " + DateObject.Voting + "\r\nOnline: " + DateObject.Online);
  52. }
  53.  
  54.  
  55.  
  56. function changeAvatar (date, DateObject) {
  57. var votings;
  58. var vote;
  59. votings = date.getElementsByClassName("voting");
  60. if (votings.length > 0) {
  61. vote = votings[0];
  62. DateObject.Voting = vote.title;
  63. vote.style.left = "80px";
  64. vote.style.top = "60px";
  65. }
  66. // Avatar
  67. var avatars = date.getElementsByClassName("avatar");
  68. if (avatars.length > 0) {
  69. avatars[0].style.width="100px";
  70. avatars[0].style.height="75px";
  71. //avatars[0].addEventListener("load",onloadChangeAvatar,false);
  72. }
  73. }
  74.  
  75.  
  76. function onloadChangeAvatar () {
  77. }
  78.  
  79.  
  80. function changeDateInfo (date, DateObject) {
  81. var date_infos;
  82. var date_info;
  83.  
  84. date_infos = date.getElementsByClassName("date_info");
  85. if (date_infos.length <= 0) return;
  86. date_info = date_infos[0];
  87. //alert(date_info.innerHTML);
  88.  
  89. changeMoreInfo(date_info, DateObject);
  90. changeDivs(date_info, DateObject);
  91. }
  92.  
  93.  
  94. function changeMoreInfo (date_info, DateObject) {
  95. var moreinfos;
  96. var moreinfo;
  97. var strongElements;
  98. var strongElement;
  99. var pElement;
  100. var s;
  101. var p1;
  102. var p2;
  103. var spanElements;
  104. var spanElement;
  105. moreinfos = date_info.getElementsByClassName("date_moreinfo");
  106. if (moreinfos.length <= 0) return;
  107. moreinfo = moreinfos[0];
  108. //alert(moreinfo.innerHTML);
  109. strongElements = moreinfo.getElementsByTagName("strong");
  110. if (strongElements.length >= 1) {
  111. strongElement = strongElements[0];
  112. s = strongElement.innerHTML;
  113. p1 = s.indexOf("&");
  114. if (p1 < 0) p1 = s.length;
  115. p2 = s.indexOf("<");
  116. if (p2 < 0) p2 = s.length;
  117. if (p2<p1) p1=p2;
  118. DateObject.Nick = s.substr(0,p1).trim();
  119. spanElements = strongElement.getElementsByTagName("span");
  120. if (spanElements.length >= 1) {
  121. spanElement = spanElements[0];
  122. DateObject.Online = spanElement.innerHTML.trim();
  123. }
  124. }
  125. var pElements = moreinfo.getElementsByTagName("p");
  126. if (pElements.length >= 1) {
  127. pElement = pElements[0];
  128. DateObject.Text = pElement.innerHTML;
  129. }
  130. }
  131.  
  132.  
  133. function changeDivs (date_info, DateObject) {
  134. var divs;
  135.  
  136. divs = date_info.getElementsByTagName("div");
  137. if (divs.length <= 0) return;
  138.  
  139. changeDiv1(divs[1], DateObject);
  140. changeDiv2(divs[2], DateObject)
  141. }
  142.  
  143.  
  144. function changeDiv1 (div, DateObject) { // Nick, Age, Gender, Verified
  145. var p1;
  146. var p2;
  147. var s;
  148. var imgs;
  149. var img;
  150. var k;
  151. s = div.innerHTML;
  152.  
  153. p1 = s.indexOf("&");
  154. if (p1 < 0) p1 = s.length;
  155. p2 = s.indexOf("<");
  156. if (p2 < 0) p2 = s.length;
  157. if (p2<p1) p1=p2;
  158. DateObject.Age = s.substr(0,p1).trim();
  159. imgs = div.getElementsByTagName("img");
  160. if (imgs.length >= 1) {
  161. for (k=0; k<imgs.length; k++) {
  162. img = imgs[k];
  163. if (img.alt.indexOf("geprüft") < 0)
  164. DateObject.Gender = img.alt;
  165. else
  166. DateObject.Verified = img.alt;
  167. }
  168. }
  169. }
  170. function changeDiv2 (div, DateObject) { // Location, Distance
  171. var s;
  172. var sdivs;
  173. var sdiv;
  174.  
  175. s = div.innerHTML;
  176. //alert(s);
  177.  
  178. sdivs = div.getElementsByTagName("div");
  179. if (sdivs.length >= 1) {
  180. sdiv = sdivs[0];
  181. DateObject.Location = sdiv.innerHTML;
  182. }
  183.  
  184. sdivs = div.getElementsByTagName("span");
  185. if (sdivs.length >= 1) {
  186. sdiv = sdivs[0];
  187. DateObject.Distance = sdiv.innerHTML;
  188. }
  189. }
  190.  
  191.  
  192. function removeHeader () {
  193.  
  194. // remove complete header
  195. var header;
  196. header = document.getElementById("header");
  197. if (header)
  198. header.parentNode.removeChild(header);
  199. }
  200.  
  201.  
  202. function removeFooter () {
  203. // remove complete footer
  204. var footer;
  205. footer = document.getElementById("footer_wrapper");
  206. if (footer)
  207. footer.parentNode.removeChild(footer);
  208. }
  209.  
  210.  
  211. function execDeleteList () {
  212. var i;
  213. for (i=0; i<deleteList.length; i++)
  214. deleteList[i].parentNode.removeChild(deleteList[i]);
  215. }