- From: Rafael Weinstein <rafaelw@google.com>
- Date: Mon, 7 Oct 2013 12:24:07 -0700
- To: James Graham <james@hoppipolla.co.uk>
- Cc: Webapps WG <public-webapps@w3.org>
- Message-ID: <CABMdHiSx3nGUQiJ17=-DeJ=gDrpGf1Y-sax24AN8ZvtSd2qXjg@mail.gmail.com>
On Mon, Oct 7, 2013 at 3:24 AM, James Graham <james@hoppipolla.co.uk> wrote: > On 06/10/13 17:25, Dimitri Glazkov wrote: > > And, if the script is executed against the global/window object of >> the main document, can and should you be able to access the imported >> document? >> >> >> You can and you should. HTML Imports are effectively #include for the Web. >> > > Yes, that sounds like a good description of the problem :) It is rather > noticable that no one making programming languages today replicates the > #include mechanism, and I think html-imports has some of the same design > flaws that makes #include unpopular. > I think authors will find it very hard to write code in an environment > where simple functions like document.getElementById don't actually work on > the document containing the script, but on some other document that they can't see. It also seems that the design requires you to be super > careful about having side effects; if the author happens to have a > non-idempotent action in a document that is imported, then things will > break in the relatively uncommon case where a single document is imported more than once. We have an orthogonal mechanism for preventing side-effects: The HTML Template Element. Imports do not prevent side-effects implicitly. This is Good. Authors have control over the semantics they need. Want to include some DOM -- use imports, need some fragment of that to not have side effects -- put it in a <template>. > > Overall it feels like html imports has been designed as an over general > mechanism to address certain narrow use cases and, in so doing, has handed > authors a footgun. Whilst I don't doubt it is usable by the highly > competent people who are working at the bleeding edge on polyfilling > components, the rest of the population can't be expected to understand the > implemetation details that seem to have led the design in this direction. I > think it would be useful to go right back to use cases here and work out if > we can't design something better. > >
Received on Monday, 7 October 2013 19:24:35 UTC