I would like a thing separate from an adblocker, that doesn't block ads per se, but instead disables most of the APIs that the tab can use to interact with the browser, e.g. opening new windows, modifying history, disabling right-click, navigating to a different domain from a whole-page click handler, etc. Javascript could still run, but it'd pretty much be limited to just modifying the loaded document's DOM.
Better yet, make it so that, when I "turn off" my adblocker, it's turning on this restricted-browser-API sandbox instead. Then, if the page still doesn't work, I could turn on a "compatibility mode" that would load the page with full API permissions.
You forgot "messing with clipboard to add `See more at {URL}`" when you ctrl+C stuff.
Listen, if a webpage deserves attention, I'll make attribution manually, but if you try to force it via clipboard, I'll make sure to remove it, again, manually
Does this point of view have or need a name? Something which conveys both the mental model and the possibility?
At first thought it might be something like "sandbox javascript to the DOM".
Relatedly, I don't know if there is a common name for the part of a tabbed browser which implements policy and defaults above the level of individual tabs. In some sense it is a kind of shell and sandboxer (?). Do we need a more shell-agnostic approach??
I would add some CSS limitations as well. All sticky headers scroll out of the way as soon as you scroll down. No obnoxious full screen stickies, especially those appearing after a timeout or detecting that my mouse goes up. Proper contrast, font size and line width. So basically extended reader mode.
To implement this, you would have to prevent JavaScript from reading how far down you’ve scrolled or which element your mouse is hovering over, or else JavaScript could repeatedly insert absolutely-positioned elements over the part of the page you’re looking at.
Better yet, make it so that, when I "turn off" my adblocker, it's turning on this restricted-browser-API sandbox instead. Then, if the page still doesn't work, I could turn on a "compatibility mode" that would load the page with full API permissions.