一个一个写呗`~~好像都有对应的事件的~~~兄弟,你想写浏览器阿?

解决方案 »

  1.   

    呵呵,不是写浏览器,但我必须要用到它们的打印和保存图像的功能,做成按纽客户用起来就比较方便了
    让客户在页面上点了老半天,才能出现图像工具栏也不太好吗,
      

  2.   

    下面是Tencent的图片下载到手机的代码!测试页面(关键字MM):
    <IMG src="4.jpg" border=1 name=MM>
    <IMG src="5.jpg" border=1 name=MM>
    <script language="javascript" src="pic.js"></script>//---------pic.js----------------
    var XCMenu = null;
    var XCMinWidth = 80;
    var XCMinHeight = 60;
    var XCCuteCheckImgSrc = true;XCSetupMenu(document);if(parent!=window)
    {
    if(parent.document.readyState=="complete")
    {
    XCSetupMenu(parent.document);
    }
    else
    {
    parent.document.onreadystatechange = function()
    {
    if(document.readyState=="complete")
    {
    XCSetupMenu(parent.document);
    }
    }
    }
    }function XCSetupMenu(doc)
    {
    if(typeof(doc.XCMenu)=="undefined")
    {
    doc.XCMenu = null;
    doc.XCMinWidth = XCMinWidth;
    doc.XCMinHeight = XCMinHeight;
    doc.XCCuteCheckImgSrc = XCCuteCheckImgSrc;
    }        var obImgs = doc.getElementsByName('MM');
    for(var i = 0; i<obImgs.length; ++i)
    {
    var img = obImgs[i];
    if(typeof(img.orig_onmouseover)=="undefined")
    {
    img.orig_onmouseover = img.onmouseover;
    img.orig_onmouseout = img.onmouseout;
    }
    img.onmouseover = XCRollOver;
    img.onmouseout = XCRollOut;
    }
    }function XCRollOver()
    {
    if(this.orig_onmouseover)
    {
    this.orig_onmouseover();
    }
    var doc = this.document;
    if(!doc.XCMenu)
    {
    doc.XCMenu = doc.createElement("img");
    doc.XCMenu.id = "XCSendIMG";
    doc.XCMenu.src = 'http://www.qq.com/images/wapxiazai/wapxiazai.gif';
                    doc.XCMenu.style.border = "0";
                    doc.XCMenu.style.cursor = "hand";
                    doc.XCMenu.style.position = "absolute";
    doc.XCMenu.style.visibility = "hidden";
    doc.XCMenu.onclick = function()
    {
                     var iTop  = (window.screen.height - 400) / 2 ;
                     var iLeft = (window.screen.width  - 310) / 2 ;
                     var sOptions = "toolbar=no,width=400,height=310,resizable=no,scrollbars=no" ;
                     sOptions += ",left=" + iLeft ;
                     sOptions += ",top=" + iTop ;
                     var oWindow = window.open("about:blank", "_blank", sOptions) ;
                     oWindow.document.location = this.status;
                     oWindow.focus();
                            return false;
                    }
    doc.XCMenu.onmouseout = function()
    {
    this.style.visibility = "hidden";
    }
    }
    doc.body.insertAdjacentElement("BeforeEnd", doc.XCMenu);
    if(this.width>=doc.XCMinWidth&&this.height>=doc.XCMinHeight)
    {
    var x = 0, y = 0;
    for(var obj = this; obj; obj = obj.offsetParent)
    {
    x += parseInt(obj.offsetLeft);
    y += parseInt(obj.offsetTop);
    }
                    doc.XCMenu.status = "http://idc4.wap.qq.com/waptest/TWF/WebWapPush/popm.jsp?url=" + escape(XCCalcSrc(this,doc.XCCuteCheckImgSrc));
    doc.XCMenu.style.left = Math.max(x, stgcl(doc));
    doc.XCMenu.style.top = Math.max(y, stgct(doc));
    doc.XCMenu.style.visibility = "";
    }
    }
    function XCRollOut()
    {
    var doc = this.document;
    if(doc.XCMenu)
    {
    if(this.orig_onmouseout)
    {
    this.orig_onmouseout();
    }
    var e = this.document.parentWindow.event;
    if(e.toElement&&e.toElement.id == "XCSendIMG")
    {
    return ;
    }
    doc.XCMenu.style.visibility = "hidden";
    }
    }
    function XCCalcSrc(img,CuteCheckImgSrc)
    {
    var ext = "";
    var href = "";
    for(var obj=img; obj&&CuteCheckImgSrc; obj = obj.parentElement)
    {
    if(obj.tagName=="A")
    {
    href = obj.href;
    ext = getextension(href).toLowerCase();
    break;
    }
    }
    return ext==".jpg"||ext==".jpeg"||ext==".jpe"||ext==".gif"||ext==".png" ? href : img.src;
    }
    function getextension(s)
    {
    var n=s.lastIndexOf('.');
    return n<0 ? "" : s.substring(n,s.length);
    }
    function ValueEncode(s)
    {
    var r =s;
    r = r.replace(/%/gi, "%25");
    r = r.replace(/ /gi, "%20");
    r = r.replace(/\t/gi, "%09");
    r = r.replace(/#/gi, "%23");
    r = r.replace(/\{/gi, "%7B");
    r = r.replace(/\}/gi, "%7D");
    r = r.replace(/\^/gi, "%5E");
    r = r.replace(/~/gi, "%7E");
    r = r.replace(/\[/gi, "%5B");
    r = r.replace(/\]/gi, "%5D");
    r = r.replace(/;/gi, "%3B");
    r = r.replace(/@/gi, "%40");
    r = r.replace(/=/gi, "%3D");
    r = r.replace(/&/gi, "%26");
    r = r.replace(/`/gi, "%60");
    return r;
    }
    function stgcl(doc)
    {
    return (doc.compatMode=="CSS1Compat"?doc.documentElement:doc.body).scrollLeft;
    }
    function stgct(doc)
    {
    return (doc.compatMode=="CSS1Compat"?doc.documentElement:doc.body).scrollTop;
    }