前兩天在網上發現一個很好的網站,是用來做資料收藏的(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"
大家如果有興趣可以自己試試!