Web+Panda Results in Google

.

目前为 2018-02-24 提交的版本。查看 最新版本

// ==UserScript==
// @name         Web+Panda Results in Google
// @namespace    salembeats
// @version      1.1
// @description  .
// @author       Cuyler Stuwe (salembeats)
// @include      /https:\/\/www.google.com\/search(?:.*?)[?&]q=3[A-Za-z0-9]{29}(?:[/?&]|\b)/
// @include      /https:\/\/www.google.com\/search(?:.*?)[?&]q=A(?:[A-Za-z0-9]{11,13}|[A-Za-z0-9]{20})(?:[/?&]|\b)/
// @grant        none
// ==/UserScript==

// https://turkopticon.info/requesters/A25EIGL5N7278I


function insertNewContent(gid, rid) {

	var gidHTML = `
        <div>
            <div>
                <span class="results-title">Results for mTurk HIT Set ID ("Group ID / GID")</span> <span class="gid-rid">${gid}</span>
            </div>
            <div>
                <a target="_new" href="web+panda://${gid}">Open in web+panda:// handler (without metadata)</a>
            </div>
        </div>`;

	var ridHTML = `
        <div>
            <div>
                <span class="results-title">Results for mTurk Requester ID ("RID")</span> <span class="gid-rid">${rid}</span>
            </div>
            <div>
                <span><a target="_new" href="https://turkopticon.ucsd.edu/reports?id=${rid}">Find on TO</a> </span>
                <span><a target="_new" href="https://turkopticon.info/requesters/${rid}">Find on TO2</a> </span>
                <span><a target="_new" href="https://turkerview.com/requesters/${rid}">Find on TurkerView</a></span>
            </div>
        </div>`;

	(document.querySelector("div.g") || document.querySelector("#topstuff")).insertAdjacentHTML("beforebegin", `
        <style>
            #resultsChanger {

            }

            #resultsChanger a::after {
                content: " ?";
            }

            #resultsChanger>div>div {
                margin: 10px !important;
            }

            .results-title {
                font-size: 1.3em;
            }

            .results-title::before {
                content: "⭐ ";
            }

            .gid-rid {
                font-size: 1.3em;
                color: green;
                background: white;
            }
        </style>

        <div id="resultsChanger" class="g">
            ${ gid ? gidHTML : ""}
            ${ rid ? ridHTML : ""}
        </div>
    `);

}


function main() {

	var parsedURL = new URL(window.location.href);
	var searchQuery = parsedURL.searchParams.get("q");

	let gid = (searchQuery.match(/\b3[A-Za-z0-9]{29}\b/) || [null])[0];
	let rid = (searchQuery.match(/\bA(?:[A-Za-z0-9]{11,13}|[A-Za-z0-9]{20})\b/) || [null])[0];

	insertNewContent(gid, rid);

}


main();