> I feel like we're mostly in violent agreement.
Probably, yes!
> So accounting for the table-layout era doesn't really change my perspective: frames were so bad, that web sites were willing to regress to full-page-loads instead
That's where we disagree.
From my point of view, what brought sites to full page loads were designers. Design folk wanted to break out of the "left side navigation, right content" mold and make good looking visual experiences.
This all started with sites like this:
https://www.spacejam.com/1996/
This website is a interstitial fossil between frames and full table nightmare. The homepage represents what (at the time) was a radical way of experiencing the web.
It still carries vestiges of frames in other sections:
https://www.spacejam.com/1996/cmp/jamcentral/jamcentralframe...
However, the home is their crown jewel and it is representative of the years that followed.
This new visual experience was enough to discard partial loading. And for a while, it stayed like this.
JS up to this point was still a toy. DHTML, hover tricks, trinkets following the mouse cursor. It was unthinkable to use it to manage content.
It was not until CSS zen garden, in 2003, that things started to shift:
https://csszengarden.com/pages/about/
Now, some people were saying that you could do pretty websites without tables. By this time, frames were already forgotten and obsolete.
So, JS never killed frames. There was a whole generation in between that never used frames, but also never used JS to manage content (no AJAX, no innerHTML shinenigans, nothing).
Today, websites look more like the POSIX spec (in structure and how content is loaded) than the SpaceJam website that defined a generation. The frames idea is kind of back in town. It doesn't matter that we don't use the same 90s tech, they were right about content over style, right about partial loading, right about a lot of structural things.