Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Realmeye Shortcuts
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description try to take over the world!
- // @author You
- // @include https://www.realmeye.com/*
- // @include https://imgur.com/a/*
- // @icon https://www.realmeye.com/s/ew/img/favicon.ico
- // @grant none
- // ==/UserScript==
- let heldShift = false;
- let cancelShift = undefined;
- (function() {
- document.addEventListener('keydown', (e) => keyDown(e.key));
- document.addEventListener('keyup', (e) => keyUp(e.key));
- const targetNode = document.getElementById('some-id');
- // Options for the observer (which mutations to observe)
- const config = { attributes: true, childList: true, subtree: true };
- // Callback function to execute when mutations are observed
- const callback = function(mutationsList, observer) {
- // Use traditional 'for loops' for IE 11
- for(const mutation of mutationsList) {
- if (mutation.type === 'childList') {
- if (mutation.addedNodes && mutation.addedNodes.length > 0) {
- for (let img of mutation.addedNodes[0].querySelectorAll(".PostContent-imageWrapper-rounded img, .imageContainer img.image-placeholder")) {
- img.addEventListener('click', event => {
- if (!heldShift) return;
- if (img.src.match(/\.com\/(.*)\.png/))
- navigator.clipboard.writeText(img.src.match(/\.com\/(.*)\.png/)[1]);
- if (img.src.match(/\.com\/(.*)_d\.webp/))
- navigator.clipboard.writeText(img.src.match(/\.com\/(.*)_d\.webp/)[1]);
- });
- }
- }
- }
- }
- };
- if (document.location.href.match('realmeye.com/wiki/')) {
- const svgEdit = `<svg width="22" aria-hidden="true" focusable="false" data-prefix="far" data-icon="edit" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="svg-inline--fa fa-edit fa-w-18 fa-lg"><path fill="currentColor" d="M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z" class=""></path></svg>`
- const newLink = document.location.href.replace('/wiki/', '/edit-wiki-page/');
- document.getElementsByTagName('h1')[0].innerHTML += ' <a href="' + newLink + '">' + svgEdit + '</a>';
- }
- // Create an observer instance linked to the callback function
- const observer = new MutationObserver(callback);
- // Start observing the target node for configured mutations
- observer.observe(document.body, config);
- function keyUp(key) {
- switch (key) {
- case 'Shift':
- clearTimeout(cancelShift);
- heldShift = false;
- break;
- }
- }
- function keyDown(key) {
- switch (key) {
- case 'Shift':
- clearTimeout(cancelShift);
- cancelShift = setTimeout(
- () => heldShift = false, 2000
- );
- heldShift = true;
- break;
- case 'P':
- if (!heldShift) break;
- navigator.clipboard.writeText(document.querySelector('img.img-responsive').src.match(/\.com\/(.*)\.png/)[1]);
- break;
- }
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement