您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自由选择网页区域并复制为 Markdown 格式,按钮可拖动。
当前为
更新重点说明:
@grant
声明:
GM_setValue
和 GM_getValue
权限,用于保存按钮位置和折叠状态。CSS 样式 (injectStyles
函数):
markdown-copy-btn
添加了 display: flex; align-items: center; justify-content: center; gap: 5px;
以便图标和文本能并排显示。.mc-collapsed
类用于折叠状态,固定了宽高,隐藏了文本。.markdown-copy-btn-icon
样式确保 SVG 图标正确显示并继承颜色。按钮结构 (createButton
函数):
<span>
用于 SVG 图标,和一个 <span>
用于文本。copyBtnContentSpan
变量用于引用文本 <span>
,这样可以独立地修改文本内容而不影响图标。copyBtn.title
属性,提供鼠标悬停提示。按钮状态保存与恢复:
STORAGE_KEY_BUTTON_POS
和 STORAGE_KEY_BUTTON_COLLAPSED
定义了 Tampermonkey 存储的键。restoreButtonState()
:在按钮创建后调用,从存储中读取位置和折叠状态并应用。saveButtonPosition()
:在按钮拖动结束后调用,保存当前位置。saveButtonCollapsedState(isCollapsed)
:在按钮折叠/展开时调用,保存状态。按钮拖动逻辑 (handleButtonDragStart
, handleButtonDragging
, handleButtonDragEnd
):
left/top
样式,以及在拖动开始/结束时禁用/启用 CSS transition
和保存位置。handleButtonClick
逻辑调整:
Div
选择模式。isDragging
),如果是则不处理点击事件。originalButtonText
)或已折叠,点击会调用 toggleButtonCollapsedState()
进行折叠/展开操作。Div
选择模式。这样确保了折叠/展开功能不会被选择功能意外触发。折叠/展开逻辑 (toggleButtonCollapsedState
, setButtonCollapsedState
):
setButtonCollapsedState
根据参数添加/移除 mc-collapsed
类,并更新文本 <span>
的内容和按钮的 title
属性。saveButtonCollapsedState
持久化状态。UI 文本和状态管理 (showTemporaryMessage
, setButtonState
, resetButtonAppearance
):
showTemporaryMessage
在显示复制成功/失败信息时,会临时展开按钮,并在消息消失后通过 resetButtonAppearance
恢复其之前的折叠状态。setButtonState
用于更新按钮的实时文本(例如在选择模式中),同时也会更新 title
。resetButtonAppearance
是一个新的辅助函数,用于在完成临时消息或取消选择后,根据保存的状态将按钮恢复到折叠或展开的默认文本状态。使用方法:
Esc
键或第三次点击按钮可以取消选择。QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址