W3C home > Mailing lists > Public > whatwg@whatwg.org > August 2010

[whatwg] <script> features

From: Nicholas Zakas <nzakas@yahoo-inc.com>
Date: Tue, 17 Aug 2010 13:21:51 -0500
Message-ID: <B66541E954ECF146AD8CA69D34A283FF12CD98B000@SP2-EX07VS02.ds.corp.yahoo.com>
Really like the idea, though I think the naming of Opera's events ("beforescript", "afterscript") fit in better with other events on the page (i.e. "beforeunload").

-Nicholas
 
______________________________________________
Commander Lock: "Dammit Morpheus, not everyone believes what you believe!"
Morpheus: "My beliefs do not require them to."

-----Original Message-----
From: whatwg-bounces@lists.whatwg.org [mailto:whatwg-bounces@lists.whatwg.org] On Behalf Of Giorgio Maone
Sent: Monday, August 16, 2010 11:12 PM
To: Jonas Sicking
Cc: WHAT Working Group
Subject: Re: [whatwg] <script> features

  They would be great additions, thanks.

> 2. scriptwillexecute/scriptdidexecute events
Notice that Opera has a richer set of eventsof this kind (exsposed to 
"privileged" User Scripts, though, AFAIK), allowing for much more control over 
the executing scripts, no matter if from script elements, event handlers or URLs:
http://www.opera.com/docs/userjs/specs/#evlistener

Cheers
-- G

Jonas Sicking wrote, On 17/08/2010 6.15:
> Hi All,
>
> I'd like to propose a couple of simple features to make<script>
> elements more useful:
>
> 1. document.currentScript
>
> This property returns the currently executing<script>, if any.
> Returns null if no<script>  is currently executing. In the case of
> several nested executing<script>s, it returns the innermost one. This
> is useful for being able to pass parameters to the script by setting
> data- attributes on the script element.
>
> I think jQuery already does things that requires knowing which
> <script>  element linked to jQuery, and it approximates this property
> by getting the last element in
> document.getElementsByTagName("script"), which won't work reliably.
> Especially with features like<script async>.
>
> 2. scriptwillexecute/scriptdidexecute events
>
> These events fire right before and right after a<script>  is executed.
> This allows a page to override the context a specific script is
> seeing. For example installing compatibility shims for older browsers.
> Another possible use for this is to make ads execute asynchronously.
> Currently this is problematic because a lot of ads use document.write
> and so the content will be lost (or worse) if an async attribute is
> added to the<script>  element used to load the ad. Using these events
> a page can override document.write while a specific script is
> executing and insert the written content into the DOM.
>
> (I've written an implementation for firefox for these features here:
> https://bugzilla.mozilla.org/show_bug.cgi?id=587931)
>
> / Jonas
Received on Tuesday, 17 August 2010 11:21:51 UTC

This archive was generated by hypermail 2.3.1 : Monday, 13 April 2015 23:09:00 UTC