NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @namespace https://openuserjs.org/users/yuanoook // @name Iframe allow everything // @description Iframe allow-scripts allow-forms allow-same-origin allow-pointer-lock allow-modals // @copyright 2020, yuanoook (https://openuserjs.org/users/yuanoook) // @license MIT // @version 1.0.0 // @include * // @run-at document-start // @grant none // ==/UserScript== // ==OpenUserJS== // @author yuanoook // ==/OpenUserJS== function fixIframesForDocument (body) { console.log('fixFrames') const observer = new MutationObserver(() => { const iframes = Array.from(body.querySelectorAll('iframe')) iframes.forEach(iframe => { "allow-scripts allow-forms allow-same-origin allow-pointer-lock allow-modals".split(' ').forEach(x => { !iframe.sandbox.contains(x) && iframe.sandbox.add(x) }) }) }); observer.observe(body, { childList: true, attributes: true, subtree: true }); } (function() { fixIframesForDocument(document.body) })();