[Greasemonkey] Calling a page-defined function

Gary Tyler pile0nades at gmail.com
Mon Aug 14 08:16:03 EDT 2006


// ==UserScript==
// @name           Fix DaV5 full view
// @namespace      http://pile0nades.wordpress.com/
// @description    Makes the image full view when on pages with /view/ in
the address
// @include        http://*.deviantart.com/view/*
// @include        http://deviantart.com/view/*

// ==/UserScript==

(function() {

  var deviation = get("span[@id='zoomed-out']/a").snapshotItem(0);
  //alert(deviation.nodeName);

  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false,
false, false, false, 0, null);
  deviation.dispatchEvent(evt);


  // xpath function
  function get(query) {
    return document.evaluate(
      query,
      document,
      null,
      XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
      null
    );
  }

})();

This is my whole script. I get Error: deviation.dispatchEvent is not a
function

On 8/14/06, Joe la Poutre <jsixpack at gmail.com> wrote:
>
> On 8/14/06, Gary Tyler <pile0nades at gmail.com> wrote:
> [...]
>
> > I also tried to fire the onclick event that zooms in, but I can't find
> the
> > method to fire it.
> >
> >   var deviation = get("span[@id='zoomed-out']/a");
> >   deviation.click();
> >
> > This does not work. How do you fire an element's onclick event? Or, get
> to
> > Deviation.zoomIn() without using unsafeWindow?
>
> You can dispatch a click event in the following way:
>
>         var clickElement = document.getElementById('someId);
>
>         var evt = document.createEvent("MouseEvents");
>         evt.initMouseEvent("click", true, true, window,
>                         0, 0, 0, 0, 0, false, false, false, false, 0,
> null);
>
>         clickElement.dispatchEvent(evt);
>
> HTH!
> _______________________________________________
> Greasemonkey mailing list
> Greasemonkey at mozdev.org
> http://mozdev.org/mailman/listinfo/greasemonkey
>


More information about the Greasemonkey mailing list