网站内容复制(脚本最初改版中的部分内容所在的网址,你了解吗?)
优采云 发布时间: 2022-01-15 18:15网站内容复制(脚本最初改版中的部分内容所在的网址,你了解吗?)
作者:amnesiac 首发:官方论坛中文版
很多朋友经常将一些网页内容摘录到其他地方进行查看、编辑等,这时候往往需要复制两次,一次是内容,一次是内容所在的URL。脚本比较简单,只有一个热键,当我们粘贴从网页复制的内容时,它会自动附加网页的地址。
一、脚本
一开始我为这个功能写了一个脚本,但是有些方面处理的不是很好。以下脚本由 Lexikos 重写,比较完整,不影响其他复制粘贴操作。
原理是从网页中复制内容时,其中的内容实际上收录了来源,因此直接从中提取。
~^v::
; 最初灵感:http://ahk8.com/thread-4198.html
; 脚本来源(英文):http://www.autohotkey.com/board/topic/82393-auto-attach-its-url-when-copy-from-a-webpage/#entry525258
Sleep 100
CF_HTML := DllCall("RegisterClipboardFormat", "str", "HTML Format")
bin := ClipboardAll
n := 0
while format := NumGet(bin, n, "uint")
{
size := NumGet(bin, n + 4, "uint")
if (format = CF_HTML)
{
html := StrGet(&bin + n + 8, size, "UTF-8")
RegExMatch(html, "(*ANYCRLF)SourceURL:\K.*", sourceURL)
break
}
n += 8 + size
}
if !sourceURL
return
Clipboard := "`nSource: " sourceURL
Send ^v
Sleep 250
Clipboard := bin
return
使用时,照常打开脚本复制,然后使用Ctrl+V粘贴(鼠标粘贴无效)。
二、实际效果
我在本专栏中复制了[Other] Copyheart和revision的部分内容,如下:
粘贴到Word之后(右边部分因为内容太宽被剪掉了)
可以看到 文章 的 URL 是自动添加到原创内容之后的。在复制网页内容(包括从浏览器复制、CHM文件等)的时候打开这个脚本会方便很多。
三、总结
脚本可以根据需要进行调整,上面的脚本没有注释,有兴趣了解更多原理的可以看: