As webdeveloper : how can i ask canvas usage before using it ?
Firefox allow to disable access to canvas for lowering fingerprinting, it's cool !
But as web developer : i like to ask this access before try to using it,
Something like :
1. Do you alllow canvas ? 2. Show the browser part 3. Wait for user answer 4. It's OK : download PDF done with canvass 5. It's not OK : shown an error to user.
To avoid such situation (see screencast)
被采纳的解决方案
I think i ask access before using it, when page load. This allow more time for user to click on accept.
Can we close now ? I put the solution when i made it in github
定位到答案原位置 👍 0所有回复 (8)
Since animated gif is not supported : https://github.com/LimeSurvey/LimeSurvey/pull/2457#issuecomment-1160655602
You appear to be using Firefox 101.0.1 with "Resist Fingerprinting" enabled. This means that by default canvas access is declined.
You can look at this pref on the about:config page.
- privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts = false
- https://support.mozilla.org/en-US/kb/about-config-editor-firefox
I understand this , and "Resist Fingerprinting" become more common (hope) tomorrow.
> But as web developer : i like to ask this access before try to using it,
As a web developer : did a good solution exist to open the "requester" and allow user to check "Yes" before using it ?
"Resist Fingerprinting" is more aimed at the browser created by the Tor project as there privacy is more important than website compatibility. On release versions you need to accept that it has a lot of limitations like the timezone and screen dimensions and access to local fonts and also access to canvas. With the pref I mentioned above, Firefox should ask for permission to access canvas instead of automatically declining it. As a web developer you can't affect this behavior, it is up to the visitor to decide whether to accept or decline.
Then : there are no solution to wait for the answer of the user before continue (or not) javascript. Like a confirm method.
You don't have to use long sentence, just tell : no solution …
For the developer of a webpage there is no other way than warn the user that canvas access can possibly be blocked as I assume that you won't be able to detect this. In current releases using RFP still gives you a Firefox ESR user agent (currently 91.0), but that is about to be changed in 102+.
- resistFingerprinting: report Firefox's real major version instead of the ESR version.
Twelve years old, but does this work:
https://stackoverflow.com/questions/2745432/best-way-to-detect-that-html5-canvas-is-not-supported
Oh wait, the problem is not that canvas access is denied, the problem is that the image data is silently randomized.
I don't know how to efficiently figure that out (I don't work with any image libraries).
选择的解决方案
I think i ask access before using it, when page load. This allow more time for user to click on accept.
Can we close now ? I put the solution when i made it in github