用JavaScript和注册表脚本实现右键收藏Web页选中文本


Posted in Javascript onJanuary 28, 2007

前两天在网上发现一个很好的站点,是用来做资料收藏的(http://wolf.360doc.com)。
    这个网站提供了这么一个功能,可以直接将你选中的文字收藏起来,当时觉得很神奇的。后来研究了一下,发现用JavaScript和注册表脚本就可以实现这样的功能。
    右键收藏页面代码如下(我的收藏页面命名为rightClick.jsp):

<html>  
<script LANGUAGE="JavaScript">  
if (external.menuArguments)   
{  
  var selText = "";  
  var strTitle = escape(external.menuArguments.document.title);  
  var strURL = escape(external.menuArguments.location.href);    var doc = external.menuArguments.document;  
  if ((doc.selection.type == "None") || (doc.selection.type == "none"))  
  {  
     alert("请选中网页上欲保存的文字和图片后再收藏!");  
  }  
  else  
  {  
     selText = doc.selection.createRange().text;  
     if (selText == "")  
     {  
        alert("请选中网页上欲保存的文字和图片后再收藏!");  
     }  
     else  
     {  
        external.menuArguments.document.execCommand("Copy");  
        var objChild;                           // Window  
        var reWork = new RegExp('object','gi'); // Regular expression  
        objChild = window.open("SaveMenu.jsp?title="+strTitle+"&url="+strURL,"objChild","toolbar=no,menubar=no,resizable=yes,location=no,status=yes,z-look=yes,alwaysRaised=yes,scrollbars=no");  
        if(!reWork.test(String(objChild)))  
          alert("文章收藏页面被拦截!\r\n请设定你安装的拦截弹出窗口软件,使当前页面不被拦截!");  
     }  
   }    
}   
</script>  
</html> 

    文本显示页面代码如下(我的收藏页面命名为SaveMenu.jsp):   
<HTML>  
 <HEAD>  
  <title>网络收藏</title>  
<script language="JavaScript">  <!-- hide me  
function Preloader()  
{  
  var Editor1 = document.getElementById('TextBox');  
  textRange = Editor1.createTextRange();  
  textRange.execCommand("Paste");  
}  
    
-->  
</script>  
</HEAD>  
 <body vLink="#261cdc" link="#261cdc" leftMargin="0" topMargin="5" onload="setTimeout('Preloader();',1000);">  
 <p title="网络收藏的文本框">网络收藏的文本框</p>  
 <textarea name="TextBox" id="TextBox" style="height:300px;width:100%;"></textarea>     
 </body>  
</HTML> 
  
注册表脚本如下:   
Windows Registry Editor Version 5.00  [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Localhost Test]  
@="http://10.1.1.19:8080/test/rightClick.jsp" 
 

       大家如果有兴趣可以自己试试!

Javascript 相关文章推荐
谈谈JavaScript中的函数与闭包
Apr 14 Javascript
jQuery 获取浏览器所在的IP地址的小例子
Nov 08 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
Dec 04 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
Jun 26 Javascript
自己动手写的javascript前端等待控件
Oct 30 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
微信支付 JS API支付接口详解
Jul 11 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
Oct 24 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
May 11 Javascript
基于vue2.0动态组件及render详解
Mar 17 Javascript
详解ES6 export default 和 import语句中的解构赋值
May 28 Javascript
JavaScript实现串行请求的示例代码
Sep 14 Javascript
用js自动判断浏览器分辨率的代码
Jan 28 #Javascript
innerHTML,outerHTML,innerTEXT三者之间的区别
Jan 28 #Javascript
一个无限级XML绑定跨框架菜单(For IE)
Jan 27 #Javascript
网页javascript精华代码集
Jan 24 #Javascript
一页面多XMLHttpRequest对象
Jan 22 #Javascript
javascript 播放器 控制
Jan 22 #Javascript
JAVASCRIPT HashTable
Jan 22 #Javascript
You might like
打造超酷的PHP数据饼图效果实现代码
2011/11/23 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
jQuery $命名冲突解决方案汇总
2014/11/13 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
JS常见错误(Error)及处理方案详解
2020/07/02 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
python获取当前日期和时间的方法
2015/04/30 Python
Python内建模块struct实例详解
2018/02/02 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
用python实现将数组元素按从小到大的顺序排列方法
2018/07/02 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
keras打印loss对权重的导数方式
2020/06/10 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
关于工资低的辞职信
2014/01/14 职场文书
人力资源作业细则
2014/03/03 职场文书
团日活动总结格式
2015/05/11 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS