搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

As webdeveloper : how can i ask canvas usage before using it ?

  • 8 个回答
  • 1 人有此问题
  • 50 次查看
  • 最后回复者为 Shnoulle

more options

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)

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)

more options
more options

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.

more options

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 ?

more options

"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.

more options

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 …

more options

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.
more options

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).

more options

选择的解决方案

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