用JavaScript和注冊表腳本實現右鍵收藏Web頁選中文本
更新時間:2007年01月28日 00:00:00 作者:
前兩天在網上發(fā)現一個很好的站點,是用來做資料收藏的(http://wolf.360doc.com)。
這個網站提供了這么一個功能,可以直接將你選中的文字收藏起來,當時覺得很神奇的。后來研究了一下,發(fā)現用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"
大家如果有興趣可以自己試試!
這個網站提供了這么一個功能,可以直接將你選中的文字收藏起來,當時覺得很神奇的。后來研究了一下,發(fā)現用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"
大家如果有興趣可以自己試試!