您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show all metadata for a web+panda:// link and choose a handler to use with it (if installed).
// ==UserScript== // @name web+panda:// Metadata Inspector / Router // @namespace salembeats // @version 1.7 // @description Show all metadata for a web+panda:// link and choose a handler to use with it (if installed). // @author Cuyler Stuwe (salembeats) // @include https://worker.mturk.com/projects/registerWPMetadataInspector // @include https://worker.mturk.com/projects/handleWPMetadataInspector* // @grant none // ==/UserScript== document.head.innerHTML = ""; if(window.location.href.includes("/registerWPMetadataInspector")) { document.body.innerHTML = "Register protocol handler for web+panda:// Metadata Inspector"; navigator.registerProtocolHandler("web+panda", "https://worker.mturk.com/projects/handleWPMetadataInspector?data=%s", "Web Panda Handler (Metadata Inspector)"); } else { let parsedLandingURL = new URL(window.location.href); let parsedWebPandaURL = new URL(parsedLandingURL.searchParams.get("data")); let originalWebPandaLink = parsedWebPandaURL.href.replace("web+panda://web+panda://", "web+panda://"); // Seen this duplication issue in one link and never since, so this will fix it for now until I figure out why it happened. let gid = decodeURIComponent(parsedWebPandaURL.pathname) .replace("//", "") .replace("web+panda:"); // Once in a blue moon, it doesn't strip off this protocol, even though "pathname" usually does (and should). This monkey-patches that issue when it happens. let previewLink = `https://worker.mturk.com/projects/${gid}/tasks?ref=w_pl_prvw`; let acceptLink = `https://worker.mturk.com/projects/${gid}/tasks/accept_random?ref=w_pl_prvw`; let newPageHTML = ` <style> div,span { word-wrap: break-word; overflow-wrap: break-word; } #container>div:nth-of-type(2n) { background: silver; } </style> <div id='container'> <div><div><span style="font-weight: bold">gid:</span> <span style="float: right;">${gid}</span></div></div> `; for(let [key, value] of parsedWebPandaURL.searchParams.entries()) { newPageHTML += `<div><span style="font-weight: bold">${key}:</span> <span style="float: right;">${value}</span></div>`; } newPageHTML += `<div><span style="font-weight: bold">Preview:</span> <span style="float: right;"><a target="_blank" href="${previewLink}">Preview</a></span></div>`; newPageHTML += `<div><span style="font-weight: bold">Accept:</span> <span style="float: right;"><a target="_blank" href="${acceptLink}">Accept</a></span></div>`; newPageHTML += `<div><span style="font-weight: bold">Handle With:</span> <span style="float: right;"><a target="_self" href="https://worker.mturk.com/requesters/handleWebPanda?gid=${originalWebPandaLink}">Default</a> <a target="_self" href="https://worker.mturk.com/handlePCHwebpanda?url=${originalWebPandaLink}">Panda Crazy</a> <a target="_self" href="https://worker.mturk.com/requesters/pandaHamHandler?url=${originalWebPandaLink}">Ham</a></span></div>`; newPageHTML += "</div>"; document.body.innerHTML = newPageHTML; let container = document.getElementById("container"); const PADDING_MARGIN = 15; let last = document.querySelector("div:last-of-type"); let {width, bottom: height} = last.getBoundingClientRect(); console.log(height, last.getBoundingClientRect().bottom); width += (window.outerWidth - window.innerWidth) + PADDING_MARGIN; height += (window.outerHeight - window.innerHeight) + PADDING_MARGIN; window.resizeTo(width, height); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址