您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add a button to enable Hypothesis on any webpage. The button will be removed after being clicked. / 在任意網頁上添加一個按鈕,以啟用 Hypothesis。點擊按鈕後,按鈕將被移除。
// ==UserScript== // @name Hypothesis Button on Every Page / 每個頁面上的 Hypothesis 按鈕 // @namespace iamfredchu // @version 0.0.8 // @description Add a button to enable Hypothesis on any webpage. The button will be removed after being clicked. / 在任意網頁上添加一個按鈕,以啟用 Hypothesis。點擊按鈕後,按鈕將被移除。 // @author Fred Chu // @match https://*/* // @inject-into content // @run-at document-end // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // ==/UserScript== (function() { function isHypothesisScriptAlreadyLoaded() { return !!document.querySelector('script[src="https://hypothes.is/embed.js"]'); } function enableHypothesis(button) { const d = document; const s = document.createElement('script'); s.setAttribute('src', 'https://hypothes.is/embed.js'); d.body.appendChild(s); button.remove(); } function createHypothesisButton() { const btn = document.createElement('button'); btn.style.position = 'fixed'; btn.style.bottom = '10px'; btn.style.right = '10px'; btn.style.zIndex = '9999'; btn.style.backgroundColor = '#5A67D8'; btn.style.color = 'white'; btn.style.border = 'none'; btn.style.borderRadius = '50%'; btn.style.width = '40px'; btn.style.height = '40px'; btn.style.display = 'flex'; btn.style.alignItems = 'center'; btn.style.justifyContent = 'center'; btn.style.fontSize = '18px'; btn.style.cursor = 'pointer'; btn.style.boxShadow = '0 2px 4px rgba(0, 0, 0, 0.1)'; btn.style.transition = 'background-color 0.3s'; btn.textContent = 'H'; const tooltip = document.createElement('span'); tooltip.textContent = 'Enable Hypothesis'; tooltip.style.position = 'absolute'; tooltip.style.bottom = '100%'; tooltip.style.left = '50%'; tooltip.style.transform = 'translateX(-50%)'; tooltip.style.backgroundColor = 'rgba(0, 0, 0, 0.8)'; tooltip.style.color = 'white'; tooltip.style.borderRadius = '4px'; tooltip.style.padding = '4px 8px'; tooltip.style.fontSize = '12px'; tooltip.style.whiteSpace = 'nowrap'; tooltip.style.opacity = '0'; tooltip.style.transition = 'opacity 0.3s'; btn.appendChild(tooltip); btn.addEventListener('mouseenter', () => { tooltip.style.opacity = '1'; }); btn.addEventListener('mouseleave', () => { tooltip.style.opacity = '0'; }); btn.addEventListener('click', () => enableHypothesis(btn)); document.body.appendChild(btn); return btn; } if (!isHypothesisScriptAlreadyLoaded()) { const hypothesisButton = createHypothesisButton(); } })();