javascript - Google Chrome 中的 Canvas 点击区域是否仍然可用?

标签 javascript google-chrome canvas html5-canvas browser-support

出于可访问性的原因,我们在网络应用程序中使用了实验性的点击区域功能。我们刚刚发现此功能在 Google Chrome 中不再起作用。我在官方网站上找不到任何相关信息。

这是“Hit Region”功能的简单演示:

let canvas = document.getElementById('canvas');
let ctx = canvas.getContext('2d');

// head
ctx.beginPath();
ctx.arc(100, 100, 75, 0, 2 * Math.PI, false);
ctx.lineWidth = 5;
ctx.stroke();

// eyes
ctx.beginPath();
ctx.arc(70, 80, 10, 0, 2 * Math.PI, false);
ctx.arc(130, 80, 10, 0, 2 * Math.PI, false);
ctx.fill();

try
{
  ctx.addHitRegion({id: "eyes"}); // NO SUPPORT => Exception

  // mouth :-)
  ctx.beginPath();
  ctx.arc(100, 110, 50, 0, Math.PI, false);
  ctx.stroke();
}
catch
{
  // mouth :-(
  ctx.beginPath();
  ctx.arc(100, 160, 40, Math.PI, 0, false);
  ctx.stroke();
}

canvas.addEventListener('mousemove', function(event) {
  if (event.region) {
    alert('hit region: ' + event.region);
  }
});
<canvas id="canvas"></canvas>

运行上面的代码片段:

  • 如果该功能是 supported and enabled在浏览器中,它应该绘制一个笑脸,并将鼠标移到眼睛上应该打开一个警报框。
  • 如果该功能未激活,面部表情应该是悲伤的。

该演示可以在 Firefox 61.0.1 中运行,但不能在 Google Chrome 67.0.3396.99 中运行,并且我无法再在 chrome://flags/ 下找到相应的标志来启用它。有人知道这个功能是否被删除了吗?

最佳答案

The "Experimental Canvas Features" flag has been removed from Chrome in the latest Canary (CL). To play around with experimental canvas features, you could turn on the "Experimental Web Platform features" flag.
(source)

这是您正在寻找的新标志:

enter image description here

如果您启用该标志,您的代码片段将呈现一个快乐的笑脸。

关于javascript - Google Chrome 中的 Canvas 点击区域是否仍然可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51760784/

相关文章:

javascript - 无法让我的导航栏适合所有页面

javascript - 三个js分组碰撞检测(THREE.Group)

javascript - 如何在 chrome 上更改不安全(http)网站的站点设置?

css - 覆盖谷歌浏览器中保存的密码字段的样式

javascript - 如何创建内容下拉菜单栏?

javascript - Three.js - 在 JSON 对象上显示图像

ajax - 如何捕获预期(和预期)的 302 Ajax 响应?

javascript - Canvas 为 Canvas 中的不同绘图应用不同的图像图案?

android - 如何为 Android 游戏绘制可滚动的背景

Javascript类变量未定义错误