<div dir="ltr">I think that only makes sense if 'this.import()' worked for script-tags-marked-as-modules in general. If the general case supported it, then it should just work for HTML imports.  <div><br></div><div>
OTOH, I think System.import() is clearer.</div><div><br></div><div>jjb</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 18, 2014 at 6:23 PM, Matthew Robb <span dir="ltr"><<a href="mailto:matthewwrobb@gmail.com" target="_blank">matthewwrobb@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Would there be any problems treating the html import as a virtual module itself. Giving all scripts inside the sub document the module context object as its this binding? Then to do any additional loading you'd need to do this.import().</p>


<div class="gmail_quote"><div><div class="h5">On Aug 18, 2014 6:56 PM, "John Barton" <<a href="mailto:johnjbarton@google.com" target="_blank">johnjbarton@google.com</a>> wrote:<br type="attribution"></div>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 18, 2014 at 2:06 PM, Ian Hickson <span dir="ltr"><<a href="mailto:ian@hixie.ch" target="_blank">ian@hixie.ch</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><br></div><div>
<br>
> > > > Now, in the main page, you reference the HTML import:<br>
> > > ><br>
> > > >    <link rel=import href="foo.html"><br>
> > > ><br>
> > > > Now how would you refer to the modules? We can't have #b refer to<br>
> > > > it, since the scope of IDs is per-document, and the import has a<br>
> > > > separate document.<br></div></blockquote><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div>...
</div>HTML imports and regular documents share a Window object, but have<br>
separate Documents objects. You can find out more about them here:<br>
<br>
   <a href="http://w3c.github.io/webcomponents/spec/imports/" target="_blank">http://w3c.github.io/webcomponents/spec/imports/</a></blockquote><div><br></div><div>If they share a Window object then they should share a Loader, but they may have different baseURLs. So for you example above we write eg.</div>


<div><br></div><div>import {b} from "./b";</div><div><br></div><div>because the scripts in the HTML import will have names relative to the same default baseURL as the main document. So I guess URL space is like<br>


<br></div><div>  <a href="http://example.com/index.html" target="_blank">http://example.com/index.html</a></div><div>  <a href="http://example.com/foo.html" target="_blank">http://example.com/foo.html</a></div><div>  <a href="http://example.com/b.js" target="_blank">http://example.com/b.js</a><br>


</div><div><br></div><div>I suppose it would be more common for the component to be in a subdirectory, eg </div><div><br></div><div><div>  <a href="http://example.com/index.html" target="_blank">http://example.com/index.html</a></div>

<div>
  <a href="http://example.com/foo/theFoo.html" target="_blank">http://example.com/foo/theFoo.html</a></div><div>  <a href="http://example.com/foo/b.js" target="_blank">http://example.com/foo/b.js</a></div></div><div><br>

</div><div>so the import would be</div>
<div>  </div><div>import {b} from "./foo/b";</div><div><br></div><div>I think we could also imagine that such an import declaration could be used without the HTML Import declaration. The fetch() call will ask for "<baseURL>/foo/b.js" and the server will say "hey that's in an HMTL Import" and serve text/html. The fetch() hook will have to detect this and process the HTML Import, then continue with the loading process.  This much I'm just making up.</div>


<div><br></div><div>jjb</div></div><br></div></div>
<br></div></div>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div>
</blockquote></div><br></div>