利用JavaScript与注册表实现IE右键自定义收藏功能

作者:代码拾荒

时间:2026-10-30

浏览:155

本文介绍如何通过JavaScript脚本与Windows注册表修改,为Internet Explorer浏览器添加右键自定义菜单功能。通过捕获用户选中的文本与链接,调用execCommand执行复制操作,并弹出子窗口保存收藏内容,实现类似资料站点的便捷收藏体验。

文章目录

日前在网络中发现一个优质的资料收藏站点(http://wolf.360doc.com)。


右键收藏功能实现原理

该网站具备一项实用功能,允许用户直接收藏选中的文字内容,这一机制令人印象深刻。经过分析发现,借助JavaScript配合注册表脚本即可复现此功能。


实现右键收藏功能的页面代码示例(假设收藏页面命名为rightClick.jsp)如下所示。


右键菜单JavaScript代码

具体代码实现如下:

<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):   

收藏内容展示页面代码

用于显示收藏内容的页面代码(假设页面命名为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"
 

读者可参考上述示例自行尝试配置。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章