4 ms·
Except it's not that easy. Web developers have been trying to remove user choice all the time - disabling right-click menus, preventing copying on websites, for
by Sophira 5y ago
Except it's not that easy. Web developers have been trying to remove user choice all the time - disabling right-click menus, preventing copying on websites, forcing the page to look blank unless you turn JavaScript on - and yet it's fairly easy to get around most of this using extensions.
That's because how websites display information in the browser is pretty standardised. Before the Canvas element, your choice was basically HTML/CSS or nothing (unless you did something incredibly strange like rendering output to a data:image/png URL and updating an image tag with it).
The Canvas element, on the other hand, doesn't force a standard way of displaying information. It's essentially your dynamic data:image/png render output method on steroids, and users can't even use it unless they have JavaScript on. As it is, many sites are still usable even without JavaScript, including Hacker News.
Using Canvas means no user choice by default.
- tshaddox 5y agoThe canvas element is essentially a bitmap that you can draw on using JavaScript. As far as I know, it doesn't introduce any features that increase the developer's ability to control the user over simply generating bitmaps on the server. (There are some fingerprinting techniques that use canvas and have bad privacy implications, but I believe that's a separate topic.) The only difference is that the bitmaps can be changed dynamically by client-side code. Everything you mention: disabling right-click menus, preventing text copying, making the site not work without JavaScript etc. can be done with canvas or without canvas. Moreover, the canvas tag has been well-supported for over 10 years.