Re: [w3c/webcomponents] document.currentScript from a script in a shadow tree. (#477)

I'm not certain things listed there would apply to shadow DOM.

For example, http://stackoverflow.com/questions/32466974/using-document-currentscript-to-append-data-to-divs talks about appending data using attributes specified in the script element.  Since there is no declarative syntax for shadow DOM, this wouldn't be a useful technique in practice.  It would be much better to do the work using a custom element in the new web components world.

http://stackoverflow.com/questions/24986178/get-script-element-in-dom-tree/24986240, again, talks about loading JSON data from the server and generating a table out of it.  That just doesn't happen with shadow DOM which lacks declarative syntax at the moment.  Even if you had a declarative syntax, you wouldn't put data and script inside a shadow tree.  You'd instead use a custom element with data inside of it, and then use `shadowRoot.host` to get that data instead.

http://stackoverflow.com/questions/19936425/dynamically-create-iframe-and-append-to-unknown-parent/19939766 is about creating an iframe when a script is loaded.  Again, there is no need to insert a script element, then have it insert an iframe when creating a shadow tree.  You should just do that upfront when you're creating a shadow tree.  Alternatively, use a custom element to do it.

This post about "protecting" a JS object seems completely misguided: http://stackoverflow.com/questions/32739099/protecting-a-javascript-object-against-external-scripts/32739197

I don't think http://stackoverflow.com/questions/35608095/having-the-same-widget-on-a-page-multiple-time-variable-clashes/35608462#35608462 is anything to do with having to use `document.currentScript`.  It's just badly written code overriding its own variables when ran multiple times.  Using `let` for scoping would solve the problem, not `document.currentScript`.

http://stackoverflow.com/questions/403967/how-may-i-reference-the-script-tag-that-loaded-the-currently-executing-script/3695686 is about on-demand loading of other scripts within a `script` element, and I don't think you want to be doing that inside a shadow DOM either (it can result in each shadow DOM loading its own copy of the script).  A better approach would be for whatever script creating a shadow tree to take care of it as its dependency.  This is also a problem we ought be solving with ES6 modules and a new HTML-import replacement.

I've looked at a few other posts listed there but I don't think any of them benefit the use inside a shadow tree.  They're either useless or actively harmful inside a shadow tree.

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/webcomponents/issues/477#issuecomment-205156569

Received on Monday, 4 April 2016 06:33:42 UTC