Truly
写精彩代码 品暇逸人生

本示例要实现的功能是通过用户安装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>

posted on 2006-11-14 12:35  Truly  阅读(825)  评论(1编辑  收藏  举报