[whatwg] Behavior when <script> is removed from DOM
wycats at gmail.com
Sat Dec 3 19:38:27 PST 2011
On Sat, Dec 3, 2011 at 6:37 PM, Jonas Sicking <jonas at sicking.cc> wrote:
> On Sat, Dec 3, 2011 at 6:24 PM, Yehuda Katz <wycats at gmail.com> wrote:
> > Yehuda Katz
> > (ph) 718.877.1325
> > On Fri, Dec 2, 2011 at 11:30 AM, Tab Atkins Jr. <jackalmage at gmail.com>
> > wrote:
> >> On Fri, Dec 2, 2011 at 11:27 AM, Jonas Sicking <jonas at sicking.cc>
> >> > The main use case for wanting to support scripts getting appears to be
> >> > wanting to abort JSONP loads. Potentially to issue it with new
> >> > parameters. This is a decent use case, but given the racyness
> >> > described above in webkit, it doesn't seem like a reliable technique
> >> > in existing browsers.
> >> If it's unreliable *and* no sites appear to break with the proper
> >> behavior, we shouldn't care about this use-case, since cross-domain
> >> XHR solves it properly.
> > Cross-domain XHR *can* solve this use case, but the fact is that CORS is
> > harder to implement JSONP, and so we continue to have a large number of
> > APIs that support JSONP but not CORS. Unfortunately, I do not forsee this
> > changing in the near future.
> I think we can solve this in 3 ways:
> 1. Keep spec as it is. Pages can simply ignore the JSONP callback when
> it happens.
> Additional bandwidth.
> More complexity for the web page.
> 2. Make removing scripts cancel any execution
> Pages will have to deal with the fact that removing scripts can still
> cause the callback to happen if the load just finished. So the same
> amount of complexity for page authors that don't want buggy pages as
> alternative 1.
> Since many pages likely won't properly handle the callback happening
> anyway will likely cause pages to be buggy in contemporary browsers.
> 3. Add a new API to reliably cancel a script load
> New API for pages to learn.
4. Add a new API (or customize XHR) to explicitly support JSONP requests,
and allow those requests to be cancelled.
> I'm personally leaning towards 3 or 1. If we go with 3 pages can
> always call the API and remove the script in order to get buggy
> "working" behavior in contemporary browsers.
> / Jonas
More information about the whatwg