main
parent
c204715d85
commit
dd80591230
@ -0,0 +1,105 @@ |
|||||||
|
// ==UserScript==
|
||||||
|
// @name Close Current Window
|
||||||
|
// @namespace http://tampermonkey.net/
|
||||||
|
// @version 1.2
|
||||||
|
// @description 在任意页面添加红色关闭按钮,点击后立即关闭当前窗口
|
||||||
|
// @author Jack
|
||||||
|
// @match *://*/*
|
||||||
|
// @grant none
|
||||||
|
// ==/UserScript==
|
||||||
|
|
||||||
|
(function() { |
||||||
|
'use strict'; |
||||||
|
|
||||||
|
// 创建按钮
|
||||||
|
const button = document.createElement('button'); |
||||||
|
button.textContent = "X"; |
||||||
|
button.title = "点击立即关闭当前窗口"; |
||||||
|
|
||||||
|
// 按钮样式 - 红色警示风格
|
||||||
|
button.style.position = "fixed"; |
||||||
|
button.style.top = "15%"; |
||||||
|
button.style.right = "1%"; |
||||||
|
button.style.transform = "translateY(-50%)"; |
||||||
|
button.style.padding = "8px 12px"; |
||||||
|
button.style.fontSize = "14px"; |
||||||
|
button.style.fontWeight = "bold"; |
||||||
|
button.style.backgroundColor = "#ff4444"; |
||||||
|
button.style.color = "#fff"; |
||||||
|
button.style.border = "none"; |
||||||
|
button.style.borderRadius = "6px"; |
||||||
|
button.style.cursor = "pointer"; |
||||||
|
button.style.zIndex = "10000"; |
||||||
|
button.style.boxShadow = "0 2px 5px rgba(0,0,0,0.3)"; |
||||||
|
button.style.transition = "all 0.2s ease"; |
||||||
|
button.style.fontFamily = "Arial, sans-serif"; |
||||||
|
|
||||||
|
// 添加悬停效果
|
||||||
|
button.addEventListener('mouseover', () => { |
||||||
|
button.style.backgroundColor = "#ff0000"; |
||||||
|
button.style.boxShadow = "0 3px 8px rgba(0,0,0,0.4)"; |
||||||
|
}); |
||||||
|
|
||||||
|
button.addEventListener('mouseout', () => { |
||||||
|
button.style.backgroundColor = "#ff4444"; |
||||||
|
button.style.boxShadow = "0 2px 5px rgba(0,0,0,0.3)"; |
||||||
|
}); |
||||||
|
|
||||||
|
// 添加点击效果
|
||||||
|
button.addEventListener('mousedown', () => { |
||||||
|
button.style.backgroundColor = "#cc0000"; |
||||||
|
button.style.transform = "translateY(-50%) scale(0.95)"; |
||||||
|
}); |
||||||
|
|
||||||
|
button.addEventListener('mouseup', () => { |
||||||
|
button.style.backgroundColor = "#ff0000"; |
||||||
|
button.style.transform = "translateY(-50%) scale(1)"; |
||||||
|
}); |
||||||
|
|
||||||
|
// 点击事件 - 立即关闭当前窗口
|
||||||
|
button.addEventListener('click', (e) => { |
||||||
|
e.preventDefault(); |
||||||
|
e.stopPropagation(); |
||||||
|
|
||||||
|
// 立即尝试关闭窗口
|
||||||
|
try { |
||||||
|
// 首先尝试直接关闭
|
||||||
|
window.close(); |
||||||
|
|
||||||
|
// 如果1秒后窗口还没关闭,尝试备用方法
|
||||||
|
setTimeout(() => { |
||||||
|
if (!window.closed) { |
||||||
|
try { |
||||||
|
// 备用方法1:如果是通过window.open()打开的窗口
|
||||||
|
if (window.opener) { |
||||||
|
window.close(); |
||||||
|
}
|
||||||
|
// 备用方法2:重定向到空白页
|
||||||
|
else { |
||||||
|
window.location.href = "about:blank"; |
||||||
|
// 如果重定向成功,按钮移除
|
||||||
|
button.remove(); |
||||||
|
} |
||||||
|
} catch (err) { |
||||||
|
console.log("关闭窗口尝试失败:", err); |
||||||
|
} |
||||||
|
} |
||||||
|
}, 1000); |
||||||
|
|
||||||
|
} catch (err) { |
||||||
|
console.log("关闭窗口出错:", err); |
||||||
|
// 如果出错,尝试重定向到空白页
|
||||||
|
window.location.href = "about:blank"; |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
// 挂载按钮到页面
|
||||||
|
document.body.appendChild(button); |
||||||
|
|
||||||
|
// 确保按钮在页面加载完成后始终存在
|
||||||
|
window.addEventListener('load', () => { |
||||||
|
if (!document.body.contains(button)) { |
||||||
|
document.body.appendChild(button); |
||||||
|
} |
||||||
|
}); |
||||||
|
})(); |
||||||
Loading…
Reference in new issue