Toggle hardware acceleration and enhance web performance
当前为
// ==UserScript==
// @name Hardware Acceleration and Web Performance Enhancer
// @namespace http://tampermonkey.net/
// @version 0.8
// @description Toggle hardware acceleration and enhance web performance
// @author Tae
// @match *://*/*
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// Load Quicklink
const script = document.createElement('script');
script.src = 'https://unpkg.com/[email protected]/dist/quicklink.umd.js';
script.onload = () => {
try {
quicklink.listen({
origins: true, // Only prefetch links from the same origin
ignores: [ // Ignore links that might cause issues
(uri) => uri.includes('logout'),
(uri) => uri.includes('login'),
(uri) => uri.includes('account')
]
});
} catch (error) {
console.error('Error loading Quicklink:', error);
}
};
document.head.appendChild(script);
// Additional error handling
window.addEventListener('error', (event) => {
console.error('Script error:', event.message);
});
// Prevent logging out users
document.addEventListener('click', (event) => {
const target = event.target;
if (target.tagName === 'A' && (target.href.includes('logout') || target.href.includes('login') || target.href.includes('account'))) {
event.preventDefault();
console.warn('Prevented navigation to:', target.href);
}
});
// Prevent 503 errors and other page down errors
window.addEventListener('beforeunload', (event) => {
if (navigator.sendBeacon) {
navigator.sendBeacon('/keep-alive', '');
} else {
const xhr = new XMLHttpRequest();
xhr.open('POST', '/keep-alive', false);
xhr.send('');
}
});
// Monitor for changes in the URL to prevent logging out
let lastUrl = location.href;
new MutationObserver(() => {
const url = location.href;
if (url !== lastUrl) {
lastUrl = url;
if (url.includes('logout') || url.includes('login') || url.includes('account')) {
history.replaceState(null, '', '/');
console.warn('Prevented navigation to:', url);
}
}
}).observe(document, { subtree: true, childList: true });
})();