您需要先安装一个扩展,例如 篡改猴、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.1
- // @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.key == 'u' && event.ctrlKey == true && event.altKey == true) {
- unfixForever()
- }
- })
- }