- From: Blake Kaplan <mrbkap@gmail.com>
- Date: Fri, 18 Oct 2013 15:37:13 -0700
- To: Dimitri Glazkov <dglazkov@chromium.org>
- Cc: Anne van Kesteren <annevk@annevk.nl>, Angelina Fabbro <angelinafabbro@gmail.com>, public-webapps <public-webapps@w3.org>, Scott Miles <sjmiles@google.com>, Steve Orvell <sorvell@google.com>
On Sun, Oct 6, 2013 at 9:38 AM, Dimitri Glazkov <dglazkov@chromium.org> wrote:
>> So you have <link href=blah.html> in meh.html and blah.html is:
>> <div id=test></div>
>> <script> /* how do I get to #test? */ </script>
> document.currentScript.ownerDocument.querySelector("#test") :)
This only works for code running directly in the script. The current
setup means that any time an author has something like:
<template id="foo">...</template>
<script>
function cloneFoo() { /* get foo and return it. */ }
</script>
they'll have to use a closure to capture the document that the
template lives in, which is rather surprising to me. Also, storing the
document in a global variable is a footgun, because that global
variable would potentially collide with another import trying to do
the same thing. ES6 modules would help here, but there a way's off.
> I think the greatest impact here will be on developers. They have to start
> thinking in terms of multiple documents. We should ask Polymer people: they
> wrote a ton of code with Imports now and I bet they have opinions.
Out of curiosity, what have the Polymer guys been using imports for?
More than just declaring custom elements? I'm worried that we're
coming up with a very generic feature with odd semantics that only
make sense for one narrow use-case.
--
Blake Kaplan
Received on Friday, 18 October 2013 22:37:40 UTC