hta 实现复制网页内容到剪贴板
[i=s] 本帖最后由 CrLf 于 2015-2-26 15:45 编辑 [/i]写这么长是为了消除 cookie 提示[code]<!--
复制网址,再双击此文件即可复制文本到剪贴板,示例网址:
http://www.hgamecn.com/htmldata/article/2734.html
-->
<HTA:APPLICATION WINDOWSTATE="minimize" SHOWINTASKBAR="no"/>
<iframe id=copyhtml onload="copyhtml(this)"></iframe>
<script>
var ws=new ActiveXObject('WScript.Shell')
username = ws.ExpandEnvironmentStrings('%username%')
//取得用户名
var sSID = getssid(username)
//取得ssid
var name = 'HKEY_USERS\\'+sSID+'\\'+
'Software\\Microsoft\\Windows\\CurrentVersion\\'+
'Internet Settings\\Zones\\3\\1A10'
//取得注册表地址
var bak = readreg(name)
//备份注册表信息
writereg(name,0)
//改写注册表信息,以避免 cookie 提示
var url = clipboardData.getData("text")
//取得剪贴板中的网址
document.getElementById('copyhtml').src = url
//将 iframe 指向该网址
window.onbeforeunload = function(){
writereg(name,bak)
//结束时还原注册表信息
}
setTimeout(close,15000)
//15秒后一定会关闭并触发 onbeforeunload
function getssid(username){
var wbemServices = GetObject('winmgmts:\\\\.')
var wbemObjectSet = wbemServices.execquery("select sid from win32_userAccount where name='"+username+"'")
var sSID = wbemObjectSet.ItemIndex(0).sid
return sSID
}
function readreg(name){
var ws = new ActiveXObject('WScript.Shell')
return ws.RegRead(name)
}
function writereg(name,value){
var ws = new ActiveXObject('WScript.Shell')
return ws.RegWrite(name,value)
}
function copyhtml(iframe){
clipboardData.setData('text',iframe.contentWindow.document.documentElement.innerText)
//将网页内容保存到剪贴板
close()
//关闭窗口
}
</script>[/code] 得到的结果是纯文本,不带格式 已测试成功运行,但有个问题,无法保存空行,
比如原网址[code]被称为“天空之城”的天界。居民被称为“天人”。
Caelum Urbs和地上不同,应有尽有。[/code]复制剪切板里的就是:[code]被称为“天空之城”的天界。居民被称为“天人”。
Caelum Urbs和地上不同,应有尽有。[/code]少了空行。能否再修改下,连同这些空行也保存下呢。 [i=s] 本帖最后由 CrLf 于 2015-2-26 16:30 编辑 [/i]
[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=162979&ptid=34442]3#[/url] [i]867258173[/i] [/b]
那是通过 margin 设置的间距,不是真正的换行,所以 innerText 读不到 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=162981&ptid=34442]4#[/url] [i]CrLf[/i] [/b]
这样啊,那就这样吧,有了这个以后直接复制粘贴方便多了。感谢(^-^) 怎么弄呢?网址放在哪里呢? 如果复制带格式文本到剪贴板,该如何修改?
页:
[1]