Web+Panda Results in Google

.

当前为 2018-02-01 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Web+Panda Results in Google
  3. // @namespace salembeats
  4. // @version 1
  5. // @description .
  6. // @author Cuyler Stuwe (salembeats)
  7. // @include /https:\/\/www.google.com\/search(?:.*?)[?&]q=3[A-Za-z0-9]{29}(?:[/?&]|\b)/
  8. // @include /https:\/\/www.google.com\/search(?:.*?)[?&]q=A(?:[A-Za-z0-9]{11,13}|[A-Za-z0-9]{20})(?:[/?&]|\b)/
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12.  
  13. function insertNewContent(gid, rid) {
  14.  
  15. var gidHTML = `
  16. <div>
  17. <div>
  18. <span class="results-title">Results for mTurk HIT Set ID ("Group ID / GID")</span> <span class="gid-rid">${gid}</span>
  19. </div>
  20. <div>
  21. <a target="_new" href="web+panda://${gid}">Open in web+panda:// handler (without metadata)</a>
  22. </div>
  23. </div>`;
  24.  
  25. var ridHTML = `
  26. <div>
  27. <div>
  28. <span class="results-title">Results for mTurk Requester ID ("RID")</span> <span class="gid-rid">${rid}</span>
  29. </div>
  30. <div>
  31. <a target="_new" href="https://turkopticon.ucsd.edu/reports?id=${rid}">Find on TO</a>
  32. </div>
  33. </div>`;
  34.  
  35. (document.querySelector("div.g") || document.querySelector("#topstuff")).insertAdjacentHTML("beforebegin", `
  36. <style>
  37. #resultsChanger {
  38.  
  39. }
  40.  
  41. #resultsChanger a::after {
  42. content: " ?";
  43. }
  44.  
  45. #resultsChanger>div>div {
  46. margin: 10px !important;
  47. }
  48.  
  49. .results-title {
  50. font-size: 1.3em;
  51. }
  52.  
  53. .results-title::before {
  54. content: "⭐ ";
  55. }
  56.  
  57. .gid-rid {
  58. font-size: 1.3em;
  59. color: green;
  60. background: white;
  61. }
  62. </style>
  63.  
  64. <div id="resultsChanger" class="g">
  65. ${ gid ? gidHTML : ""}
  66. ${ rid ? ridHTML : ""}
  67. </div>
  68. `);
  69.  
  70. }
  71.  
  72.  
  73. function main() {
  74.  
  75. var parsedURL = new URL(window.location.href);
  76. var searchQuery = parsedURL.searchParams.get("q");
  77.  
  78. let gid = (searchQuery.match(/\b3[A-Za-z0-9]{29}\b/) || [null])[0];
  79. let rid = (searchQuery.match(/\bA(?:[A-Za-z0-9]{11,13}|[A-Za-z0-9]{20})\b/) || [null])[0];
  80.  
  81. insertNewContent(gid, rid);
  82.  
  83. }
  84.  
  85.  
  86. main();