Hacker News new | ask | show | jobs
by javajosh 858 days ago
A minor note: this is the first time I've seen an svg embedded in a canvas purely for it's onload event. Within this context the canvas is referred to by its (bare) id. How strange and wonderful!
3 comments

It turns out that packing it into an svg onload is a tiny bit smaller then using a script tag!

It is possible to save a little more space by putting it in the canvas onclick event.

Why is that allowed? I didn’t realize one could do that in js.
If you nest any valid elements inside an unknown element like <asdf>...</asdf>, browsers just ignore the invalid wrapper element but still display the nested children. This fact is exploited by spec authors when introducing new tags to allow backwards compatibility: elements like canvas, video and audio all specifically allow optional children that are automatically hidden - but they won't be hidden in older browsers that don't know about the new elements. This allows you to easily define arbitrary fallback content for older browsers that don't support the new elements, just by nesting children in them.
I noticed and thought the same! Pretty cool.