[Project_owners] Javascript Q

xeen aka.xeen at gmail.com
Sun Feb 4 02:39:36 PST 2007


If you need the _escaped_ URL, try this:

(doc is the document provided by DOMContentLoaded, but just using
content.document should be fine as well)


// Attach listener
doc.addEventListener("mouseover", rdr.catchMouseOver, true);

// This returns false if there's no link or the href itself (will bubble up)
catchMouseOver: function(event) {
    e=event.target;

    while(e && e.docName!="#document") {
      if(e.href && e.href.length>0) {
        return e.href;
      }
      e=e.parentNode;
    }
    return false;
},


Other than that, I don't know a good way to get the URL. You can still
hack into available functions and inject some kind of listener there.
This is what I use for RDR to add "RDR:" in the statusbar, if there's
a redirect:

if(nsBrowserStatusHandler) {
      eval("nsBrowserStatusHandler.prototype.setOverLink="+nsBrowserStatusHandler.prototype.setOverLink.toString().replace(
      'link;',
      'unescape(rdr.findLink(rdr.overLink))==link?unescape(rdr.cleanLink(rdr.findLink(rdr.overLink),true)):link;'
      ));
    }

Anyway, if you just want some kind of listener I'd just replace the
last } and inject your function like this:

if(nsBrowserStatusHandler) {
  eval("nsBrowserStatusHandler.prototype.setOverLink="+nsBrowserStatusHandler.prototype.setOverLink.toString().replace(
      '}',
      'giveLinkToMyExtension(link); }'
      ));
    }

Haven't tested though, so good luck :)


On 2/4/07, Amin <amin.eft at gmail.com> wrote:
> ok
> this code works correctly:
>
>
> window.addEventListener("mousemove", StatusCorrect,false);
> function StatusCorrect(e){
>        var sStatus = document.getElementById("statusbar-display");
> }
> but
>
>
> window.addEventListener("mouseover", StatusCorrect,false);
> function StatusCorrect(e){
>        var sStatus = document.getElementById("statusbar-display");
> }
> does  not work
>
>
> On 2/4/07, eric.jung at yahoo.com <eric.jung at yahoo.com> wrote:
> >
> >
> >
> > It looks like your code was clipped. Please re-post.
> >
> >
> >
> >
> > ----- Original Message ----
> > From: Amin <amin.eft at gmail.com >
> > To: Mozdev Project Owners List <project_owners at mozdev.org>
> > Sent: Saturday, February 3, 2007 3:28:21 PM
> > Subject: [Project_owners] Javascript Q
> >
> >
> > Javascript Q?
> >
> > i want to get URL of links in page it is possible by :
> >
> > window.addEventListener("mouse... StatusCorrect,false);
> > var sStatus = document.getElementById("statu...
> >
> > sStatus.label is link URL
> >
> > but when i want to use this code instead :
> >
> >
> > window.addEventListener ("mouse... StatusCorrect,false);
> > var sStatus = document.getElementById("statu...
> >
> > sStatus.label is empty ,i think it is because that mousemove is before
> creating status bar information ,any body know what i must do ?
> > _______________________________________________
> > Project_owners mailing list
> > Project_owners at mozdev.org
> > http://mozdev.org/mailman/listinfo/project_owners
> >
> >
> > _______________________________________________
> > Project_owners mailing list
> > Project_owners at mozdev.org
> > http://mozdev.org/mailman/listinfo/project_owners
> >
> >
> >
>
>
> _______________________________________________
> Project_owners mailing list
> Project_owners at mozdev.org
> http://mozdev.org/mailman/listinfo/project_owners
>
>


More information about the Project_owners mailing list