> Javascript is an innocent bystander in the mess.
No, it's not, because well-formed, valid Javascript code is permitted to depend on this execution model.
You're not making any sense whatsoever any more.
The decision to combine 20 <script> sources into the same execution context is the BROWSERS decision. NOT javascripts.
It's the BROWSER that doesn't have any concept of allowing <script> fine grained permissions within the execution context, or specifying you'd prefer if the browser put that script in a separate execution context.
It's the BROWSER that needs fixing here, not js.
I'll refer you to this comment now, as we appear to be arguing about the same thing in two threads:
It's the browser that allows 20 scripts from different domains all come together in the same execution context each with full permission to do anything.