用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 相关文章推荐
Jquery实现搜索框提示功能示例代码
Aug 13 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
Jun 30 Javascript
Node.js中调用mysql存储过程示例
Dec 20 Javascript
jQuery判断多个input file 都不能为空的例子
Jun 23 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
Nov 18 Javascript
浅析Javascript匿名函数与自执行函数
Feb 06 Javascript
基于Angularjs实现分页功能
May 30 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
May 30 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
Mar 29 Javascript
详解Vue项目中实现锚点定位
Apr 24 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
Jul 10 Javascript
详解JSON.parse和JSON.stringify用法
Feb 18 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
dedecms模版制作使用方法
2007/04/03 PHP
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
php修改时间格式的代码
2011/05/29 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
JS编程小常识很有用
2012/11/26 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
python如何求解两数的最大公约数
2018/09/27 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
浅析Python 多行匹配模式
2020/07/24 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
新年抽奖获奖感言
2014/03/02 职场文书
幼儿园新年寄语
2014/04/03 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
奖学金申请个人主要事迹材料
2015/11/04 职场文书
Windows server 2012搭建FTP服务器
2022/04/29 Servers
MySQL批量更新不同表中的数据
2022/05/11 MySQL