Multi tab for Mturk

Adds Multi Tab link to open hits in 6 tabs

  1. // ==UserScript==
  2. // @name Multi tab for Mturk
  3. // @author ikarma
  4. // @namespace https://greasyfork.org/en/users/9054
  5. // @version .02
  6. // @description Adds Multi Tab link to open hits in 6 tabs
  7. // @include https://www.mturk.com/mturk/accept*
  8. // @include https://www.mturk.com/mturk/findhits*
  9. // @include https://www.mturk.com/mturk/preview*
  10. // @include https://www.mturk.com/mturk/searchbar*
  11. // @include https://www.mturk.com/mturk/sorthits*
  12. // @include https://www.mturk.com/mturk/sortsearchbar*
  13. // @include https://www.mturk.com/mturk/viewhits*
  14. // @include https://www.mturk.com/mturk/viewsearchbar*
  15. // ==/UserScript==
  16.  
  17.  
  18.  
  19. var previewLinkEls = document.querySelectorAll('span.capsulelink a');
  20. for (var i = 0; i < previewLinkEls.length; i++) {
  21. var previewLink = previewLinkEls[i].getAttribute('href');
  22. if (previewLink && previewLink.split('?')) {
  23. var previewLinkArray = previewLink.split('?');
  24. if (previewLinkArray[0] == '/mturk/preview') {
  25. var previewAndAcceptLink = previewLinkArray[0] + 'andaccept?' + previewLinkArray[1];
  26. var previewAndAcceptEl = document.createElement('a');
  27. previewAndAcceptEl.setAttribute('href', previewAndAcceptLink);
  28. previewAndAcceptEl.setAttribute('target', 'mturkhits');
  29. previewAndAcceptEl.setAttribute('style', 'padding-right: 20px;');
  30. previewAndAcceptEl.innerHTML = 'Accept';
  31. var parentSpan = previewLinkEls[i].parentNode;
  32. parentSpan.insertBefore(previewAndAcceptEl, parentSpan.firstChild);
  33. var hoardLink = document.createElement("a");
  34. hoardLink.setAttribute('href', previewAndAcceptLink);
  35. hoardLink.setAttribute('class', 'multitab');
  36. hoardLink.setAttribute('style', 'padding-right: 20px;');
  37. hoardLink.setAttribute('id', 'mLink');
  38. hoardLink.innerHTML = "Multi Tab";
  39. var parentSpan = previewLinkEls[i].parentNode;
  40. parentSpan.insertBefore(hoardLink, parentSpan.firstChild);
  41. }
  42. }
  43. }
  44.  
  45. function goGoGadget(e){
  46. e.preventDefault();
  47. var hPage = this.getAttribute("href");
  48. pageToDo(hPage);
  49. }
  50.  
  51. function pageToDo(hPage) {
  52. var fulPage = "https://www.mturk.com" + hPage;
  53. var groupId = fulPage.split("=")[1];
  54. var nwwi = window.open(fulPage,"nwwi");
  55. var nwwi1 = window.open(fulPage,"nwwi1");
  56. var nwwi2 = window.open(fulPage,"nwwi2");
  57. var nwwi3 = window.open(fulPage,"nwwi3");
  58. var nwwi4 = window.open(fulPage,"nwwi4");
  59. var nwwi5 = window.open(fulPage,"nwwi5");
  60.  
  61.  
  62.  
  63.  
  64.  
  65. }
  66.  
  67. var newHB = document.getElementsByClassName("multitab");
  68. for (var t = 0; t < newHB.length; t++){
  69. newHB[t].addEventListener( "click", goGoGadget, false);
  70. }
  71.