// ==UserScript== // @name instagram // @version 0.0.1 // @namespace roger21.free.fr // @description instagram // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQAAAABbAUdZAAAALElEQVR42mP4DwQMaMQHg8P8EOLz%2F%2F%2FnIcR%2FOPEZpARGUEH2w2EefgiBxS0ARNpzyS9f0t0AAAAASUVORK5CYII%3D // @include https://www.instagram.com/* // @noframes // @grant GM.openInTab // @grant GM_openInTab // ==/UserScript== // $Rev: 4425 $ if(typeof GM === "undefined") { this.GM = {}; } if(typeof GM_openInTab !== "undefined" && typeof GM.openInTab === "undefined") { GM.openInTab = function(...args) { return new Promise((resolve, reject) => { try { resolve(GM_openInTab.apply(null, args)); } catch (e) { reject(e); } }); }; } console.log("gm moi instagram gm4"); var style = document.createElement("style"); style.setAttribute("type", "text/css"); style.textContent = "html > body > * > section > nav{display:none;}" + "section > main > div.html-div:first-of-type{display:none;}" + "html > body > div[role=\"presentation\"]{display:none;}" + "html > body{overflow:auto !important;}"; document.getElementsByTagName("head")[0].appendChild(style); console.log("gm moi instagram style"); function doit(mutations, observer) { console.log("gm moi instagram doit"); let foo = document.querySelector("div#scrollview ~ div"); if(foo) { console.log("gm moi instagram doit foo"); foo.parentElement.removeChild(foo); } let lol = document.querySelector("div > button > span[aria-label=\"Fermer\"]"); if(lol) { console.log("gm moi instagram doit lol"); lol.parentElement.parentElement.parentElement.removeChild(lol.parentElement.parentElement); } if(/^https:\/\/www\.instagram\.com\/[^\/]+\/p\//.test(window.location.href) || /^https:\/\/www\.instagram\.com\/p\//.test(window.location.href) || /^https:\/\/www\.instagram\.com\/[^\/]+\/reel\//.test(window.location.href)) { console.log("gm moi instagram do_it page image " + window.location.href); let image = document.querySelector("main div > div > div > img:not([gmmoiinstaimage])"); if(image) { console.log("gm moi instagram doit image"); image.setAttribute("gmmoiinstaimage", "gmmoiinstaimage"); image.addEventListener("mouseup", function(e) { e.preventDefault(); e.stopImmediatePropagation(); console.log("gm moi instagram mouseup image"); if(e.button === 0) { console.log("gm moi instagram mouseup image window " + e.target.src); window.location = e.target.src; } if(e.button === 1) { console.log("gm moi instagram mouseup image onpenintab " + e.target.src); GM.openInTab(e.target.src); } }, false); image.style.cursor = "pointer"; image.parentElement.parentElement.removeChild(image.parentElement.nextElementSibling); } } else { console.log("gm moi instagram doit page links " + window.location.href); let links = document.querySelectorAll("a[href*=\"/p/\"]:not([gmmoiinstalink]), " + "a[href*=\"/reel/\"]:not([gmmoiinstalink])"); for(let link of links) { console.log("gm moi instagram doit link " + link.href); link.href = link.href.replace(/^https:\/\/www\.instagram\.com\/[^\/]+\/reel\//, "https://www.instagram.com/p/"); console.log("gm moi instagram doit new link " + link.href); link.setAttribute("gmmoiinstalink", "gmmoiinstalink"); link.parentElement.addEventListener("click", function(e) { e.preventDefault(); e.stopImmediatePropagation(); console.log("gm moi instagram click link " + link.href); if(e.button === 0) { console.log("gm moi instagram click link window " + link.href); window.location = link.href; } if(e.button === 1) { console.log("gm moi instagram click link openintab " + link.href); GM.openInTab(link.href); } }, false); } } } var observer = new MutationObserver(doit); observer.observe(document, { attributes: false, childList: true, characterData: false, subtree: true }); doit();