I knew someone would improve it, thanks. I am still finding my way around ShadowDOM APIs.
Another debugging problem I often have is Polymer's silent failure when my html/js is malformed. I suspect an ignored exception/error code somewhere. I'd love to find where, and log the error. What file/function does the import parsing? Aleks On Wednesday, September 10, 2014 2:45:17 PM UTC-7, Eric Bidelman wrote: > > Nice! > > I tweaked <http://jsbin.com/ririweqosepe/1/edit> this a bit to make it > more robust. Also create a handy bookmarklet > <https://gist.github.com/ebidel/cea24a0c4fdcda8f8af2>. > > - adjusted to work with multiple-levels of shadow dom > - works with is="" custom elements > - el.constructor == HTMLElement returns false positives for <header> and > other elements, so I'm getting everything with > document.querySelectorAll('html /deep/ *') instead, then filtered on valid > custom element names. > > > On Wed, Sep 10, 2014 at 1:32 PM, Aleks Totic <[email protected] > <javascript:>> wrote: > >> I've just spent a couple of hours tracking down a layout bug that turned >> out to be a missing core-header-panel import. I am always nervous about >> missing imports when coding Polymer. So I wrote a little utility that >> reports unresolved HTML elements as errors. In case anyone else finds it >> useful, here is the script: >> >> function findUnknownElements(el) { >> if (el.constructor == HTMLElement) >> console.error("Found unknown element:", el); >> if (el.shadowRoot) { >> var every = el.shadowRoot.querySelectorAll('*'); >> for (var i=0; i<every.length; i++) >> findUnknownElements(every[i]); >> } >> } >> document.addEventListener('polymer-ready', function() { >> var every = document.querySelectorAll('*'); >> for (var i=0; i<every.length; i++) >> findUnknownElements(every[i]); >> }); >> >> Follow Polymer on Google+: plus.google.com/107187849809354688692 >> --- >> You received this message because you are subscribed to the Google Groups >> "Polymer" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/polymer-dev/9b4ed352-5167-4473-9bba-f3ac2b67c7a7%40googlegroups.com >> >> <https://groups.google.com/d/msgid/polymer-dev/9b4ed352-5167-4473-9bba-f3ac2b67c7a7%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > Follow Polymer on Google+: plus.google.com/107187849809354688692 --- You received this message because you are subscribed to the Google Groups "Polymer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/polymer-dev/baaaee56-0a22-4aa8-b12b-25d558f05462%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
