您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Unfixes all fixed elements such as navigation bar and keeps them unfixed. Keybind: ctrl+alt+u
// ==UserScript== // @name Unfix // @namespace com.gmail.fujifruity.greasemonkey // @version 1.2 // @description Unfixes all fixed elements such as navigation bar and keeps them unfixed. Keybind: ctrl+alt+u // @author fujifruity // @match *://*/* // @grant none // ==/UserScript== { const cssOf = e => document.defaultView.getComputedStyle(e, '') const isFixed = e => ['fixed', 'sticky'].includes(cssOf(e).position) const unfix = e => { if (!isFixed(e)) return if (e.id == 'fujifruity-toc') return e.style.setProperty('position', 'unset', 'important') console.log('unfixed: ', e) } // Keeps all elements unfixed const unfixForever = () => { // Unfix all fixed elements const allElems = Array.from(document.body.getElementsByTagName("*")) allElems.forEach(unfix) // Start observing elements get fixed const observer = new window.MutationObserver((mutationRecords) => { mutationRecords.forEach((mutationRecord) => { unfix(mutationRecord.target) }) }) const config = { attributes: true, subtree: true } observer.observe(document.body, config) } // Set keybinds window.addEventListener('keydown', event => { if (!event.altKey && !event.metaKey || !event.ctrlKey || event.key != 'u') return unfixForever() }) }