用JavaScript和注冊表腳本實現(xiàn)右鍵收藏Web頁選中文本
前兩天在網(wǎng)上發(fā)現(xiàn)一個很好的站點,是用來做資料收藏的(
http://wolf.360doc.com)。
這個網(wǎng)站提供了這么一個功能,可以直接將你選中的文字收藏起來,當時覺得很神奇的。后來研究了一下,發(fā)現(xiàn)用JavaScript和注冊表腳本就可以實現(xiàn)這樣的功能。
右鍵收藏頁面代碼如下(我的收藏頁面命名為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("請選中網(wǎng)頁上欲保存的文字和圖片后再收藏!");
}
else
{
selText = doc.selection.createRange().text;
if (selText == "")
{
alert("請選中網(wǎng)頁上欲保存的文字和圖片后再收藏!");
}
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>網(wǎng)絡收藏</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="網(wǎng)絡收藏的文本框">網(wǎng)絡收藏的文本框</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]
@="