Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #38430

Re: HTML5 embed element event

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups comp.lang.javascript
Subject Re: HTML5 embed element event
Date 2020-05-21 17:15 +0200
Organization PointedEars Software (PES)
Message-ID <4588804.31r3eYUQgx@PointedEars.de> (permalink)
References <H9idncZ8Oaal4l7DnZ2dnUU7-XHNnZ2d@westnet.com.au>

Show all headers | View raw


Andrew Poulos wrote:

> I have a HTML5 page which includes this
> 
> <embed id="pdf" src="sample.pdf" type="application/pdf" title="Sample">
> 
> CSS positions and sizes the element.
> 
> What I need to do is to know when a user has selected it eg clicked it
> with a mouse. While Dr Google suggests that embed elements support
> events it may just be media events because I can't get it to respond to
> a click event. How can the parent window know when an embed has been
> clicked?

Click events are handled by the application that displays the content, as it 
was before HTML5; in this case either the PDF viewer provided by the browser 
itself or probably the Adobe Reader plugin.  So you would have to learn and 
use Adobe JavaScript in order to handle those.

However, in 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/73.0.3683.75 Safari/537.36' which includes a PDF viewer, a 
FocusEvent is fired if an “embed” element like above, that has loaded a PDF 
document, is clicked.

You can find out which events are fired by an element by handling all 
possible events:


function getAllPropertyNames (obj)
{
  /* Object instead of Array to avoid duplicates automatically */
  let properties = {};

  do {
    Object.getOwnPropertyNames(obj)
      .forEach(name => {properties[name] = true});
  } while ((obj = Object.getPrototypeOf(obj)));

  return Object.keys(properties);
}

/* $0 in the Chrome Dev Console refers to the currently selected element 
node in the Tree Pane */
var el = $0;

getAllPropertyNames(el).filter(name => name.indexOf('on') === 0)
  .forEach(name => {
    el[name] = ((ev) => { console.log(ev); });
  });



-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

HTML5 embed element event Andrew Poulos <ap_prog@hotmail.com> - 2020-05-19 16:39 +1000
  Re: HTML5 embed element event "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2020-05-19 17:29 +0200
    Re: HTML5 embed element event Andrew Poulos <ap_prog@hotmail.com> - 2020-05-20 07:45 +1000
      Re: HTML5 embed element event "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2020-05-20 00:21 +0200
        Re: HTML5 embed element event rcpj@panix.com (Pierre Jelenc) - 2020-05-20 01:09 +0000
          Re: HTML5 embed element event Andrew Poulos <ap_prog@hotmail.com> - 2020-05-20 18:36 +1000
          Re: HTML5 embed element event "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2020-05-20 12:36 +0200
  Re: HTML5 embed element event "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2020-05-19 17:21 -0700
    Re: HTML5 embed element event Andrew Poulos <ap_prog@hotmail.com> - 2020-05-20 18:43 +1000
  Re: HTML5 embed element event Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-05-21 17:15 +0200
    Re: HTML5 embed element event "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2020-05-21 08:55 -0700
      Re: HTML5 embed element event "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2020-05-21 08:57 -0700
        Re: HTML5 embed element event Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-05-21 18:53 +0200
          Re: HTML5 embed element event "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2020-05-21 11:00 -0700
            Re: HTML5 embed element event Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-05-21 21:50 +0200
              Re: HTML5 embed element event Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-05-21 22:03 +0200
              Re: HTML5 embed element event "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2020-05-21 15:25 -0700
                Re: HTML5 embed element event Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-05-23 03:06 +0200

csiph-web