RnR Script

Helpful things to do the ProductRnR adult content hits

  1. // ==UserScript==
  2. // @name RnR Script
  3. // @version 4.0
  4. // @description Helpful things to do the ProductRnR adult content hits
  5. // @match https://www.mturkcontent.com/dynamic/hit*
  6. // @copyright 2012+, You
  7. // @namespace https://gf.qytechs.cn/users/710
  8. // ==/UserScript==
  9.  
  10. var radios = document.getElementsByClassName("radiobutton");
  11. var radios2 = document.getElementsByTagName("input");
  12. var isRnRHit = false;
  13. var isResultsHit = false;
  14. var isCaptionHit = false;
  15. var isSimilarHit = false;
  16. var idPrefix = (document.getElementById('__Result0_1') ? "__Result" : "Q");
  17. console.log(idPrefix);
  18. var mark = (localStorage.getItem("mark") ? localStorage.getItem("mark") : false);
  19.  
  20. for (i = 0; i < radios.length; i++) {
  21. if (radios[i].value == 'nowatermark' || radios[i].value.match(/.*no(t|n)adult/i) || radios[i].value.match(/.*Unrelated/i)) {
  22. radios[i].checked = true;
  23. isRnRHit = true;
  24. }
  25. }
  26.  
  27. for (i = 0; i < radios2.length; i++) {
  28. var val = (mark ? radios2[i].value.replace(/unrelated/i,"") : radios2[i].value);
  29. var name = new RegExp((mark ? "related" : "unrelated"), 'i');
  30. if (radios2[i].type == "radio"){
  31. if (name.test(val)){
  32. radios = radios2;
  33. radios[i].checked = true;
  34. isRnRHit = true;
  35. isResultsHit = true;
  36. }
  37. if (radios2[i].value.match(/imagecaption.*/i))
  38. {
  39. radios = radios2;
  40. isCaptionHit = true;
  41. isRnRHit = true;
  42. }
  43. }
  44. }
  45.  
  46. if (!isRnRHit){
  47. for (i = 0; i < radios2.length; i++){
  48. if (radios2[i].type == "radio"){
  49. if (radios2[i].value.match(/.*imagesimilarity.*/i)){
  50. isSimilarHit = true;
  51. isRnRHit = true;
  52. }
  53. }
  54. if (isRnRHit)
  55. break;
  56. }
  57. }
  58.  
  59. function reMark(){
  60. mark = !mark;
  61. localStorage.setItem("mark", mark);
  62. var name = new RegExp((mark ? "related" : "unrelated"), 'i');
  63. for (i = 0; i < radios.length; i++) {
  64. var val = (mark ? radios[i].value.replace(/unrelated/i,"") : radios[i].value);
  65. if (name.test(val)){
  66. radios[i].checked = true;
  67. }
  68. }
  69. }
  70.  
  71. var questions = document.getElementsByClassName((isCaptionHit || isSimilarHit || isResultsHit ? "documentbox" : "singlebox"));
  72. var names = [];
  73. for (i = 0; i < questions.length; i++) {
  74. names.push(questions[i]);
  75. }
  76.  
  77. var questionSelector = -1;
  78. var idStart = "";
  79. var name = "";
  80. var div = null;
  81. var newFormat = false;
  82.  
  83. document.onkeydown = showkeycode;
  84. var content = document.getElementById("content");
  85. content.tabIndex = "0";
  86. content.focus();
  87.  
  88. function toggle(obj) {
  89. console.log("Toggle: "+obj);
  90. var el = document.getElementById(obj);
  91. var disp = localStorage.getItem('disp');
  92. console.log(disp)
  93. if ( !disp || disp != 'none' ) {
  94.  
  95. el.style.display = 'none';
  96. localStorage.setItem('disp', 'none');
  97. }
  98.  
  99. else {
  100.  
  101. el.style.display = '';
  102. localStorage.setItem('disp', '');
  103. }
  104.  
  105. }
  106. var first = true;
  107. if (first){
  108. var disp = localStorage.getItem('disp');
  109. var el = document.getElementById("sidebar");
  110. if (disp == 'none')
  111. el.style.display = 'none';
  112. first = false;
  113. }
  114.  
  115. function showkeycode(evt){
  116. if (isRnRHit){
  117. var keycode = evt.keyCode;
  118. console.log(keycode);
  119. switch (keycode) {
  120. case 78: //n
  121. questionSelector++;
  122. if (questionSelector == (isResultsHit || isCaptionHit || isSimilarHit ? names.length : names.length-1))
  123. {
  124. questionSelector = 0;
  125. }
  126. name = idPrefix+""+questionSelector+"_1";
  127. idStart = ""+name.slice(0,-1);
  128. if (div != null)
  129. div.style.backgroundColor = "#FFFFFF";
  130. if (isCaptionHit)
  131. div = document.getElementById(name).parentNode.parentNode.parentNode.parentNode;
  132. else if (isSimilarHit)
  133. div = document.getElementById(name).parentNode.parentNode.parentNode;
  134. else
  135. div = document.getElementById(name).parentNode;
  136. div.style.backgroundColor="#F3E88E";
  137. div.scrollIntoView((questionSelector >= names.length-1 ? true : false));
  138. console.log(idStart);
  139. break;
  140. case 80: //p
  141. questionSelector--;
  142. name = idPrefix+""+questionSelector+"_1";
  143. console.log(names.length);
  144. if (div == null || name == idPrefix+"-1_1"){
  145. questionSelector = (isResultsHit || isCaptionHit || isSimilarHit ? names.length - 1 : names.length - 2);
  146. name = idPrefix+""+questionSelector+"_1";
  147. }
  148. if (div == null){
  149. if (isCaptionHit)
  150. div = document.getElementById(name).parentNode.parentNode.parentNode.parentNode;
  151. else if (isSimilarHit)
  152. div = document.getElementById(name).parentNode.parentNode.parentNode;
  153. else
  154. div = document.getElementById(name).parentNode;
  155. }
  156. else
  157. div.style.backgroundColor="#FFFFFF";
  158. console.log(idStart);
  159. idStart = ""+name.slice(0,-1);
  160. if (isCaptionHit)
  161. div = document.getElementById(name).parentNode.parentNode.parentNode.parentNode;
  162. else if (isSimilarHit)
  163. div = document.getElementById(name).parentNode.parentNode.parentNode;
  164. else
  165. div = document.getElementById(name).parentNode;
  166. div.style.backgroundColor="#F3E88E";
  167. div.scrollIntoView((questionSelector >= names.length-1 ? true : false));
  168. break;
  169. case 77: //m
  170. name = idStart+"7";
  171. var button = document.getElementById(name);
  172. if (button == null)
  173. {
  174. name = idStart+"2";
  175. button = document.getElementById(name);
  176. }
  177. button.checked = true;
  178. break;
  179. case 192: //`
  180. console.log("Remark Started");
  181. reMark();
  182. console.log("remark end");
  183. break;
  184. case 85: //u
  185. name = idStart+"2";
  186. button = document.getElementById(name);
  187. button.checked = true;
  188. break;
  189. case 13: //enter
  190. var button = document.getElementById("SubmitButton");
  191. if (confirm("Submit?")) button.click();
  192. break;
  193. case 72: //h
  194. name = idStart+"1";
  195. var button = document.getElementById(name);
  196. console.log(name);
  197. button.checked = true;
  198. break;
  199. case 82: //r
  200. name = idStart+"1";
  201. var button = document.getElementById(name);
  202. console.log(name);
  203. button.checked = true;
  204. break;
  205. case 49: //1
  206. name = idStart+"1";
  207. var button = document.getElementById(name);
  208. console.log(name);
  209. button.checked = true;
  210. break;
  211. case 97: //numpad 1
  212. name = idStart+"1";
  213. var button = document.getElementById(name);
  214. console.log(name);
  215. button.checked = true;
  216. break;
  217. case 88: //x
  218. name = idStart+"2";
  219. var button = document.getElementById(name);
  220. button.checked = true;
  221. break;
  222. case 50: //2
  223. name = idStart+"2";
  224. var button = document.getElementById(name);
  225. button.checked = true;
  226. break;
  227. case 98: //numpad 2
  228. name = idStart+"2";
  229. var button = document.getElementById(name);
  230. button.checked = true;
  231. break;
  232. case 69: //e
  233. name = idStart+"3";
  234. var button = document.getElementById(name);
  235. button.checked = true;
  236. break;
  237. case 83: //s
  238. name = idStart+"4";
  239. var button = document.getElementById(name);
  240. button.checked = true;
  241. break;
  242. case 87: //w
  243. name = idStart+"1";
  244. var button = document.getElementById(name);
  245. button.checked = true;
  246. case 66: //b
  247. name = idStart+"5";
  248. var button = document.getElementById(name);
  249. button.checked = true;
  250. break;
  251. case 71: //g
  252. name = idStart+"6";
  253. var button = document.getElementById(name);
  254. button.checked = true;
  255. break;
  256. case 68: //d
  257. name = idStart+"8";
  258. var button = document.getElementById(name);
  259. if (button == null)
  260. {
  261. name = idStart+"3";
  262. button = document.getElementById(name);
  263. }
  264. button.checked = true;
  265. break;
  266. case 90: //z
  267. toggle("sidebar");
  268. break;
  269. case 191: // /
  270. alert("n: next, p: previous. m: non-nude/no watermark/unrelated; r: related; w: watermark; h: hardcore; x: explicit; e: educational nudity; s: suggestive; b: bad language; g: gruesome; d: did not load; z: toggle sidebar visibility; `: Switch related/unrelated; 1: Choose first caption/image; 2: Choose second caption/image");
  271. break;
  272. default: break;
  273. }
  274. }
  275. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址