Greasy Fork 支持简体中文。

mmmturkeybacon Embiggen Radio Buttons and Checkboxes

Adds a colored label around radio buttons and checkboxes that increases the area that registers a click. If the button/box is clicked the label turns green. This script lets you more effectively click while requiring less precision and makes it easier to see which items are selected. I can't guarantee this script won't foul up a page's layout. If it does disable it. mmmturkeybacon Unclick Radio Button is a helpful companion to this script.

  1. // ==UserScript==
  2. // @name mmmturkeybacon Embiggen Radio Buttons and Checkboxes
  3. // @version 1.22
  4. // @description Adds a colored label around radio buttons and checkboxes that increases the area that registers a click. If the button/box is clicked the label turns green. This script lets you more effectively click while requiring less precision and makes it easier to see which items are selected. I can't guarantee this script won't foul up a page's layout. If it does disable it. mmmturkeybacon Unclick Radio Button is a helpful companion to this script.
  5. // @author mmmturkeybacon
  6. // @namespace http://userscripts.org/users/523367
  7. // @match http://*/*
  8. // @match https://*/*
  9. // //@match https://*.mturk.com/mturk/preview*
  10. // //@match https://*.mturk.com/mturk/accept*
  11. // //@match https://*.mturk.com/mturk/continue*
  12. // //@match https://*.mturk.com/mturk/submit*
  13. // //@match https://*.mturk.com/mturk/return*
  14. // //@match https://*.mturkcontent.com/dynamic/hit?*
  15. // //@match https://*.amazonaws.com/mturk_bulk/hits*
  16. // //@match https://*.crowdcomputingsystems.com/mturk-web/*
  17. // //@match https://*.qualtrics.com/*
  18. // //@match https://*.surveygizmo.com/*
  19. // //@match https://*.surveymonkey.com/*
  20. // @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js
  21. // @grant GM_addStyle
  22. // ==/UserScript==
  23.  
  24. /*
  25. Examples:
  26. http://i.imgur.com/6AK6fqq.png
  27. http://i.imgur.com/ZmKaA1o.png
  28.  
  29. For testing and debugging:
  30. https://www.surveymonkey.com/s/ProfessionalProcesses
  31. https://www.surveygizmo.com/s3/2046887/73e44deab261
  32. https://msuccas.co1.qualtrics.com/SE/?SID=SV_0ilMmQXcdpZQ04d
  33. https://princetonsurvey.az1.qualtrics.com/SE/?SID=SV_8jDoy6P7ibFZN0p
  34. https://www.mturkcontent.com/dynamic/hit?assignmentId=ASSIGNMENT_ID_NOT_AVAILABLE&hitId=3DIIW4IV8PEUCG2TZJS01EOATJII4F
  35. https://www.mturkcontent.com/dynamic/hit?assignmentId=3TVSS0C0E27JP3NPE9RZ73RPA20TWR&hitId=3BS6ERDL93DBRFESBZ9FFLF63626DW&workerId=ASSIGNMENT_ID_NOT_AVAILABLE&turkSubmitTo=https%3A%2F%2Fwww.mturk.com
  36. https://s3.amazonaws.com/mturk_bulk/hits/138816851/qUqSeewj13pzxUGTsERnXg.html?assignmentId=ASSIGNMENT_ID_NOT_AVAILABLE&hitId=39KMGHJ4RY9B0N33T566YLUDOYX006
  37. https://s3.amazonaws.com/mturk_bulk/hits/138909729/mndG5I_WE1o9e66s6lB8ZA.html?assignmentId=ASSIGNMENT_ID_NOT_AVAILABLE&hitId=3DGDV62G7OEP3AI3W6SRGMH1P9TP2S
  38. http://fordhambusiness.az1.qualtrics.com/jfe/form/SV_5sv1TzUahXAxhch?MID=
  39. https://hbs.qualtrics.com/jfe/form/SV_cwjMpy2RQqAJbFz
  40.  
  41. https://yalesurvey.qualtrics.com/SE/?SID=SV_2l4AAdCJIsONZMp
  42.  
  43. */
  44.  
  45. var SIZE = 54; // pixels
  46.  
  47. var TOP_SPACING = (1/2)*SIZE + 1;
  48. var RIGHT_SPACING = (2/10)*SIZE;
  49. var BOTTOM_SPACING = (1/2)*SIZE + 1;
  50. var LEFT_SPACING = (4/10)*SIZE;
  51.  
  52. var UNCHECKED_COLOR = '#00f';
  53. var CHECKED_COLOR = '#0f0';
  54. var DISABLED_COLOR = '#999';
  55. var OPACITY = 0.25;
  56.  
  57. var radio_button_index = 0;
  58. var checkbox_index = 0;
  59. var radio_button_queue_count = 0;
  60. var checkbox_queue_count = 0;
  61. var already_ran = false;
  62.  
  63. function addstyle()
  64. {
  65. if (already_ran == false)
  66. {
  67. already_ran = true;
  68. GM_addStyle(' \
  69. @font-face { \
  70. font-family: "icomoon"; \
  71. src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SB4AAAAC8AAAAYGNtYXDqkerWAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZtKphoMAAAF4AAABvGhlYWQFnF7hAAADNAAAADZoaGVhB8IDyQAAA2wAAAAkaG10eBIAAAAAAAOQAAAAIGxvY2EBdgEAAAADsAAAABJtYXhwAAsALAAAA8QAAAAgbmFtZVcZpu4AAAPkAAABRXBvc3QAAwAAAAAFLAAAACAAAwQAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADqVgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAEAAAAAMAAgAAgAEAAEAIOpT6lb//f//AAAAAAAg6lLqVf/9//8AAf/jFbIVsQADAAEAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAACAAD/wAQAA8AAEAAXAAABISIGFREUFjMhMjY1ETQmIwEnNxcBFwEDgP0ANUtLNQMANUtLNf5A7VqTATNa/nMDwEs1/QA1S0s1AwA1S/zl7lqSATJa/nIAAgAA/8AEAAPAABAAFQAAASEiBhURFBYzITI2NRE0JiMRIREhEQOA/QA1S0s1AwA1S0s1/QADAAPASzX9ADVLSzUDADVL/IADAP0AAAIAAP/ABAADwAAUACEAAAEiDgIVFB4CMzI+AjU0LgIjESImNTQ2MzIWFRQGIwIAaruLUFCLu2pqu4tQUIu7ajVLSzU1S0s1A8BQi7tqaruLUFCLu2pqu4tQ/YBLNTVLSzU1SwACAAD/wAQAA8AAFAApAAABIg4CFRQeAjMyPgI1NC4CIxEiLgI1ND4CMzIeAhUUDgIjAgBqu4tQUIu7amq7i1BQi7tqUItpPDxpi1BQi2k8PGmLUAPAUIu7amq7i1BQi7tqaruLUPyAPGmLUFCLaTw8aYtQUItpPAABAAAAAQAAtaMOVF8PPPUACwQAAAAAANE+jTIAAAAA0T6NMgAA/8AEAAPAAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAQAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAgAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAoAFAAeAEoAcACiAN4AAAABAAAACAAqAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("truetype"), \
  72. url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAWYAAsAAAAABUwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIHgGNtYXAAAAFoAAAAVAAAAFTqkerWZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAAAbwAAAG80qmGg2hlYWQAAAOAAAAANgAAADYFnF7haGhlYQAAA7gAAAAkAAAAJAfCA8lobXR4AAAD3AAAACAAAAAgEgAAAGxvY2EAAAP8AAAAEgAAABIBdgEAbWF4cAAABBAAAAAgAAAAIAALACxuYW1lAAAEMAAAAUUAAAFFVxmm7nBvc3QAAAV4AAAAIAAAACAAAwAAAAMEAAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6lYDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABABAAAAADAAIAAIABAABACDqU+pW//3//wAAAAAAIOpS6lX//f//AAH/4xWyFbEAAwABAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAgAA/8AEAAPAABAAFwAAASEiBhURFBYzITI2NRE0JiMBJzcXARcBA4D9ADVLSzUDADVLSzX+QO1akwEzWv5zA8BLNf0ANUtLNQMANUv85e5akgEyWv5yAAIAAP/ABAADwAAQABUAAAEhIgYVERQWMyEyNjURNCYjESERIREDgP0ANUtLNQMANUtLNf0AAwADwEs1/QA1S0s1AwA1S/yAAwD9AAACAAD/wAQAA8AAFAAhAAABIg4CFRQeAjMyPgI1NC4CIxEiJjU0NjMyFhUUBiMCAGq7i1BQi7tqaruLUFCLu2o1S0s1NUtLNQPAUIu7amq7i1BQi7tqaruLUP2ASzU1S0s1NUsAAgAA/8AEAAPAABQAKQAAASIOAhUUHgIzMj4CNTQuAiMRIi4CNTQ+AjMyHgIVFA4CIwIAaruLUFCLu2pqu4tQUIu7alCLaTw8aYtQUItpPDxpi1ADwFCLu2pqu4tQUIu7amq7i1D8gDxpi1BQi2k8PGmLUFCLaTwAAQAAAAEAALWjDlRfDzz1AAsEAAAAAADRPo0yAAAAANE+jTIAAP/ABAADwAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAAEAAABAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAIAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAKABQAHgBKAHAAogDeAAAAAQAAAAgAKgACAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA4AAAABAAAAAAACAA4ARwABAAAAAAADAA4AJAABAAAAAAAEAA4AVQABAAAAAAAFABYADgABAAAAAAAGAAcAMgABAAAAAAAKADQAYwADAAEECQABAA4AAAADAAEECQACAA4ARwADAAEECQADAA4AJAADAAEECQAEAA4AVQADAAEECQAFABYADgADAAEECQAGAA4AOQADAAEECQAKADQAYwBpAGMAbwBtAG8AbwBuAFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBtAG8AbwBuaWNvbW9vbgBpAGMAbwBtAG8AbwBuAFIAZQBnAHUAbABhAHIAaQBjAG8AbQBvAG8AbgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("woff"); \
  73. \
  74. font-weight: normal; \
  75. font-style: normal; \
  76. } \
  77. input[type=radio], \
  78. input[type=checkbox] { \
  79. display: visible; \
  80. } \
  81. input[type=radio] + div, \
  82. input[type=checkbox] + div { \
  83. /*float: left; !important;*/ \
  84. display: inline-block !important; \
  85. width: 0px !important; \
  86. height: 0px !important; \
  87. z-index: 100 !important; \
  88. } \
  89. input[type=radio] + div > div.mtb_embiggen_icon, \
  90. input[type=checkbox] + div > div.mtb_embiggen_icon { \
  91. margin: 0px !important; \
  92. padding: 0px !important; \
  93. z-index: 100 !important; \
  94. } \
  95. input[type=radio] + div > div.mtb_embiggen_icon::before, \
  96. input[type=checkbox] + div > div.mtb_embiggen_icon::before { \
  97. font-family: "icomoon" !important; \
  98. speak: none !important; \
  99. font-style: normal !important; \
  100. font-weight: normal !important; \
  101. font-variant: normal !important; \
  102. font-size: '+SIZE+'px !important; \
  103. text-transform: none !important; \
  104. line-height: 1 !important; \
  105. opacity: '+OPACITY+' !important; \
  106. /* Better Font Rendering =========== */ \
  107. -webkit-font-smoothing: antialiased !important; \
  108. -moz-osx-font-smoothing: grayscale !important; \
  109. } \
  110. input[type=radio]:disabled + div > div.mtb_embiggen_icon::before, \
  111. input[type=checkbox]:disabled + div > div.mtb_embiggen_icon::before { \
  112. color: '+DISABLED_COLOR+'; \
  113. } \
  114. input[type=radio]:focus + div > div.mtb_embiggen_icon::before, \
  115. input[type=checkbox]:focus + div > div.mtb_embiggen_icon::before { \
  116. outline: 1px dotted !important; \
  117. } \
  118. input[type=radio] + div > div.mtb_embiggen_icon::before { \
  119. content: "\\ea56" !important; \
  120. color: '+UNCHECKED_COLOR+'; \
  121. } \
  122. input[type=radio]:checked + div > div.mtb_embiggen_icon::before { \
  123. content: "\\ea55" !important; \
  124. color: '+CHECKED_COLOR+'; \
  125. } \
  126. input[type=checkbox] + div > div.mtb_embiggen_icon::before { \
  127. content: "\\ea53" !important; \
  128. color: '+UNCHECKED_COLOR+'; \
  129. } \
  130. input[type=checkbox]:checked + div > div.mtb_embiggen_icon::before { \
  131. content: "\\ea52" !important; \
  132. color: '+CHECKED_COLOR+'; \
  133. } \
  134. ');
  135. }
  136. }
  137.  
  138.  
  139. function embiggen_radio_button(new_radio_button)
  140. {
  141. addstyle();
  142. var $radio_button = $(new_radio_button);
  143. $radio_button.attr('mtb_embiggened', 'true');
  144. var offset = {};
  145. var center_offset = {};
  146.  
  147. $radio_button.css('display', 'visible');
  148. $radio_button.css('opacity', '1.0');
  149.  
  150. var container_height = $radio_button.outerHeight(true);
  151. var container_width = $radio_button.outerWidth(true);
  152. var TOP_MARGIN = Math.round(TOP_SPACING - container_height/2);
  153. var RIGHT_MARGIN = Math.round(RIGHT_SPACING - container_width/2);
  154. var BOTTOM_MARGIN = Math.round(BOTTOM_SPACING - container_height/2);
  155. var LEFT_MARGIN = Math.round(LEFT_SPACING - container_width/2);
  156. //var MARGIN = TOP_MARGIN+'px '+RIGHT_MARGIN+' px'+BOTTOM_MARGIN+' px'+LEFT_MARGIN+' px';
  157.  
  158. $radio_button.wrap('<label>');
  159. $radio_button.parent().append('<div><div class="mtb_embiggen_icon"></div></div>');
  160. $radio_button.parent().wrap('<div style="display: inline-block; height: '+container_height+'px; width: '+container_width+'px; margin: '+TOP_MARGIN+'px '+RIGHT_MARGIN+'px '+BOTTOM_MARGIN+'px '+LEFT_MARGIN+'px ">');
  161. var $this_container = $radio_button.parent().parent();
  162.  
  163. var $this_div = $this_container.find('input[type="radio"] + div');
  164. var $this_icon = $this_container.find('input[type="radio"] + div > div[class="mtb_embiggen_icon"]');
  165.  
  166. var icon_abs_top = -SIZE/2+'px';
  167. var icon_abs_left = -SIZE/2+'px';
  168.  
  169. $this_icon.css({"position": "absolute", "top": icon_abs_top, "left": icon_abs_left});
  170.  
  171. if (document.domain.indexOf('surveymonkey') > -1)
  172. {
  173. var $next_label = $this_container.parent('.qOption').children('label');
  174. if ($next_label.length > 0)
  175. {
  176. $next_label.css('display', 'inline');
  177. $next_label.find('img').css('visibility', 'hidden');
  178. }
  179. }
  180. else if (document.domain.indexOf('surveygizmo') > -1)
  181. {
  182. $radio_button.css('position', 'static');
  183. }
  184. else if (document.domain.indexOf('qualtrics') > -1)
  185. {
  186. $radio_button.css('float', 'none');
  187. $('span[class="LabelWrapper"]').css('float', 'none');
  188. }
  189.  
  190. offset = $radio_button.offset();
  191. center_offset.top = offset.top + $radio_button.height()/2;
  192. center_offset.left = offset.left + $radio_button.width()/2;
  193. $this_div.offset(center_offset);
  194.  
  195. // Don't hide the radio buttons so that the Tab key can still be used to navigate to between them.
  196. //$radio_button.css('visibility', 'hidden');
  197.  
  198. // Invisible and Tab key still works to navigate
  199. //$radio_button.css('opacity', '0');
  200.  
  201. radio_button_queue_count--;
  202. }
  203.  
  204. function embiggen_checkbox(new_checkbox)
  205. {
  206. addstyle();
  207. var $checkbox = $(new_checkbox);
  208. $checkbox.attr('mtb_embiggened', 'true');
  209. var offset = {};
  210. var center_offset = {};
  211.  
  212. $checkbox.css('display', 'visible');
  213.  
  214. var container_height = $checkbox.outerHeight(true);
  215. var container_width = $checkbox.outerWidth(true);
  216. var TOP_MARGIN = Math.round(TOP_SPACING - container_height/2);
  217. var RIGHT_MARGIN = Math.round(RIGHT_SPACING - container_width/2);
  218. var BOTTOM_MARGIN = Math.round(BOTTOM_SPACING - container_height/2);
  219. var LEFT_MARGIN = Math.round(LEFT_SPACING - container_width/2);
  220. //var MARGIN = TOP_MARGIN+'px '+RIGHT_MARGIN+' px'+BOTTOM_MARGIN+' px'+LEFT_MARGIN+' px';
  221.  
  222. $checkbox.wrap('<label>');
  223. $checkbox.parent().append('<div><div class="mtb_embiggen_icon"></div></div>');
  224. $checkbox.parent().wrap('<div style="display: inline-block; height: '+container_height+'px; width: '+container_width+'px; margin: '+TOP_MARGIN+'px '+RIGHT_MARGIN+'px '+BOTTOM_MARGIN+'px '+LEFT_MARGIN+'px ">');
  225. var $this_container = $checkbox.parent().parent();
  226.  
  227. var $this_div = $this_container.find('input[type="checkbox"] + div');
  228. var $this_icon = $this_container.find('input[type="checkbox"] + div > div[class="mtb_embiggen_icon"]');
  229.  
  230. var icon_abs_top = -SIZE/2+'px';
  231. var icon_abs_left = -SIZE/2+'px';
  232.  
  233. $this_icon.css({"position": "absolute", "top": icon_abs_top, "left": icon_abs_left});
  234.  
  235. if (document.domain.indexOf('surveymonkey') > -1)
  236. {
  237. var $next_label = $this_container.parent('.qOption').children('label');
  238. if ($next_label.length > 0)
  239. {
  240. $next_label.css('display', 'inline');
  241. $next_label.find('img').css('visibility', 'hidden');
  242. }
  243. }
  244. else if (document.domain.indexOf('surveygizmo') > -1)
  245. {
  246. $checkbox.css('position', 'static');
  247. }
  248. else if (document.domain.indexOf('qualtrics') > -1)
  249. {
  250. $checkbox.css('float', 'none');
  251. $('span[class="LabelWrapper"]').css('float', 'none');
  252. }
  253.  
  254. offset = $checkbox.offset();
  255. center_offset.top = offset.top + $checkbox.height()/2;
  256. center_offset.left = offset.left + $checkbox.width()/2;
  257. $this_div.offset(center_offset);
  258.  
  259. // Don't hide the checkboxes so that the Tab key can still be used to navigate to between them.
  260. //$checkbox.css('visibility', 'hidden');
  261.  
  262. checkbox_queue_count--;
  263. }
  264.  
  265. function queue_radio_button(new_radio_button)
  266. {
  267. (function(new_radio_button, radio_button_queue_count){setTimeout(function(){embiggen_radio_button(new_radio_button)}, radio_button_queue_count*10) })(new_radio_button, radio_button_queue_count);
  268. radio_button_queue_count++;
  269. }
  270.  
  271. function queue_checkbox(new_checkbox)
  272. {
  273. (function(new_checkbox, checkbox_queue_count){setTimeout(function(){embiggen_checkbox(new_checkbox)}, checkbox_queue_count*10) })(new_checkbox, checkbox_queue_count);
  274. checkbox_queue_count++;
  275. }
  276.  
  277. $(window).load(function()
  278. //$(document).ready(function()
  279. {
  280. var selector_prefix = ($('div[id="hit-wrapper"]').length > 0) ? 'div[id="hit-wrapper"] ' : '';
  281. if (selector_prefix || document.domain != 'www.mturk.com')
  282. { // if selector_prefix is non-empty then it is an internal HIT
  283. var radio_buttons = document.querySelectorAll(selector_prefix+'input[type="radio"]:not([mtb_embiggened="true"])');
  284. //Array.prototype.forEach.call(radio_buttons, queue_radio_button);
  285. Array.prototype.forEach.call(radio_buttons, embiggen_radio_button);
  286.  
  287. var checkboxes = document.querySelectorAll(selector_prefix+'input[type="checkbox"]:not([mtb_embiggened="true"])');
  288. //Array.prototype.forEach.call(checkboxes, queue_checkbox);
  289. Array.prototype.forEach.call(checkboxes, embiggen_checkbox);
  290.  
  291. //http://stackoverflow.com/questions/25711476/why-is-my-mutationobserver-callback-not-being-executed-for-some-new-tags
  292. var observer = new MutationObserver(function(mutations, obs)
  293. {
  294. for(var i=0; i<mutations.length; ++i)
  295. {
  296. for(var j=0; j<mutations[i].addedNodes.length; ++j)
  297. {
  298. var newTag = mutations[i].addedNodes[j];
  299. if (newTag.querySelectorAll)
  300. {
  301. //Array.prototype.forEach.call(
  302. //newTag.querySelectorAll('input[type="radio"]:not([mtb_embiggened="true"])'), queue_radio_button);
  303. //Array.prototype.forEach.call(
  304. //newTag.querySelectorAll('input[type="checkbox"]:not([mtb_embiggened="true"])'), queue_checkbox);
  305. Array.prototype.forEach.call(
  306. newTag.querySelectorAll('input[type="radio"]:not([mtb_embiggened="true"])'), embiggen_radio_button);
  307. Array.prototype.forEach.call(
  308. newTag.querySelectorAll('input[type="checkbox"]:not([mtb_embiggened="true"])'), embiggen_checkbox);
  309. }
  310. }
  311. }
  312. });
  313.  
  314. observer.observe(document.documentElement,
  315. {
  316. childList: true,
  317. subtree: true
  318. });
  319.  
  320. //setTimeout(function(){observer.disconnect()}, 10000);
  321. }
  322.  
  323. });