您的位置:首页 > 运维架构 > 网站架构

关于浏览器扩展--给你的网站增加浏览器右键收藏功能

2006-11-14 12:35 417 查看
本示例要实现的功能是通过用户安装reg文件,给浏览器添加右键菜单“收藏到我的网站”,这样以后用户上网的时候就可以通过选中内容右键“收藏到我的网站”,就会把用户选中的数据提交给指定网页

同时我增加了一个判断,如果用户没有选中,直接在图片上点右键收藏的话可以把这个图片的地址获取到,以判断用户是否需要收藏图片。

一共需要3个文件,reg需要提供给用户下载,另外两个是网站的处理页面。

注册表文件
mm.reg

REGEDIT4

;Generated with Registry Explorer
;http://www.regxplor.com

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\收藏到我的网站]
@="http://localhost/test.html"

test.html

<html>
<script LANGUAGE="JavaScript">

if (external.menuArguments) {
var parentwin = external.menuArguments;
var srcEvent = external.menuArguments.event;
var doc = parentwin.document;
var eventElement = doc.elementFromPoint ( srcEvent.clientX, srcEvent.clientY );
var srcImage = eventElement;
var isOnImage = false;

isOnImage = (srcImage && srcImage.tagName == 'IMG');

// 如果选中的是一片区域,将选中区域的HTML复制到剪贴板
if (doc.selection) {
var sel = doc.selection.createRange().htmlText;
var cpb = parentwin.clipboardData;
cpb.setData("Text",sel.toString());
}

if (!sel) {
var sel = '';
//如果是在图片上点击收藏,那么进行图片保存
if(isOnImage){
var str = new String(srcImage.href.toString());
alert('只是在图片上点击了右键,并未选中任何文本');
alert(str);
}
}

var url = parentwin.location.href;
var title = parentwin.document.title;

if (parentwin.event.srcElement.tagName == "A") {
url = parentwin.event.srcElement.getAttribute("HREF");
title = parentwin.event.srcElement.innerText;
}
void(window.open('http://localhost/favorites.aspx?t='+escape(title)+'&u='+escape(url)+'&c='+escape(sel),'_blank','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'))
} else {
history.go(-1);
}

</script>
</html>

favorites.aspx
<form id="form1" runat="server">
您要收藏的页面标题:<%= Request.QueryString["t"]%><br>
您要收藏的页面Url:<%= Request.QueryString["u"]%><br>
您要收藏的页面内容:<%= Request.QueryString["c"]%><br>
</form>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: