Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #38430
| 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> |
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
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