在 HTML 网站中,我正在检查document.createElement('canvas').toDataURL('image/webp').indexOf('data:image/webp')
以确定浏览器是否支持 webp,并在其上设置一个类,<body>
以便 CSS 规则可用于加载 webp 格式的图像内容(如果支持)。
这往往可以正常工作,但是在 Brave iOS 上,指纹屏蔽盾似乎阻止了此脚本运行。我似乎无法让开发人员控制台检查 Brave iOS 上的任何错误消息,并且brave://inspect
似乎无法在 Brave iOS 上像chrome://inspect
Chrome iOS 那样工作,所以我无法确切看到正在发生的事情。桌面brave://inspect
远程调试似乎只支持安卓远程设备。
奇怪的是,带有“指纹被阻止”的 Brave 桌面,即使在“严格,可能会破坏网站”的攻击级别上,似乎也不会导致任何问题,只是在移动设备上。
当我在 Brave iOS 上切换“阻止指纹识别”时,我的 webp 图像在被阻止时会消失,而在解除阻止时会重新出现。
目前,Brave 通过阻止第三方网站访问经常用于对用户进行指纹识别的功能来防止指纹识别。这包括 Canvas、Web Audio 和 WebGL API 等的高度识别部分。
我的理论是这就是为什么当指纹被阻止时我的 webp 图像消失的原因,但我对其他想法持开放态度。
我想知道在这种情况下会引发什么异常(如果有的话),或者如何优雅地检测这种情况,但是如果没有 Brave iOS 控制台可以玩,我就瞎了。
我知道我可以检查 Canvas支持,但我不确定“支持但被阻止”是否是不同的情况。