标题: [原创代码] hta 实现复制网页内容到剪贴板 [打印本页]
作者: CrLf 时间: 2015-2-26 15:25 标题: hta 实现复制网页内容到剪贴板
本帖最后由 CrLf 于 2015-2-26 15:45 编辑
写这么长是为了消除 cookie 提示- <!--
- 复制网址,再双击此文件即可复制文本到剪贴板,示例网址:
- 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>
复制代码
作者: CrLf 时间: 2015-2-26 15:57
得到的结果是纯文本,不带格式
作者: 867258173 时间: 2015-2-26 16:07
已测试成功运行,但有个问题,无法保存空行,
比如原网址- 被称为“天空之城”的天界。居民被称为“天人”。
-
- Caelum Urbs和地上不同,应有尽有。
复制代码
复制剪切板里的就是:- 被称为“天空之城”的天界。居民被称为“天人”。
- Caelum Urbs和地上不同,应有尽有。
复制代码
少了空行。能否再修改下,连同这些空行也保存下呢。
作者: CrLf 时间: 2015-2-26 16:28
本帖最后由 CrLf 于 2015-2-26 16:30 编辑
回复 3# 867258173
那是通过 margin 设置的间距,不是真正的换行,所以 innerText 读不到
作者: 867258173 时间: 2015-2-26 16:39
回复 4# CrLf
这样啊,那就这样吧,有了这个以后直接复制粘贴方便多了。感谢(^-^)
作者: mstsc 时间: 2018-10-14 22:15
怎么弄呢?网址放在哪里呢?
作者: tsqingfeng 时间: 2019-1-2 20:35
如果复制带格式文本到剪贴板,该如何修改?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |