您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Go back to the previous page using the backspace key
- // ==UserScript==
- // @name Backspace to Go Back
- // @namespace gobackxFIRKx
- // @description Go back to the previous page using the backspace key
- // @version 1.03
- // @author xFIRKx
- // @match *://*/*
- // @grant none
- // @homepageURL https://greasyfork.org/it/scripts/495770-backspace-to-go-back
- // ==/UserScript==
- (function() {
- 'use strict';
- function handleKeydown(event) {
- // Check if the pressed key is the backspace key
- if ((event.key === 'Backspace' || event.keyCode === 8) && !event.defaultPrevented) {
- // Check if the focus is not on an editable element
- const activeElement = document.activeElement;
- const isInput = activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA' || activeElement.isContentEditable;
- const isReadOnly = activeElement.readOnly || activeElement.disabled;
- if (!isInput || isReadOnly) {
- event.preventDefault(); // Prevent the default action
- window.history.back(); // Go back to the previous page
- }
- }
- }
- // Add event listener for keydown events
- document.addEventListener('keydown', handleKeydown, true); // Use capture mode to ensure the event is caught early
- // Use MutationObserver to handle dynamic content changes
- const observer = new MutationObserver(() => {
- // Reattach the event listener if necessary
- document.removeEventListener('keydown', handleKeydown, true);
- document.addEventListener('keydown', handleKeydown, true);
- });
- // Observe changes in the document body
- observer.observe(document.body, { childList: true, subtree: true });
- // Additional observer for YouTube's specific dynamic content
- if (window.location.hostname.includes('youtube.com')) {
- const ytObserver = new MutationObserver(() => {
- const contentElement = document.querySelector('ytd-app');
- if (contentElement) {
- ytObserver.observe(contentElement, { childList: true, subtree: true });
- }
- });
- ytObserver.observe(document.body, { childList: true, subtree: true });
- }
- })();