首页 > 解决方案 > 移动 Opera 中的设备方向不起作用

问题描述

我在使设备定向在 Opera 浏览器中工作时遇到问题。

此代码在我的 Android/Chrome 上运行良好:

  window.addEventListener('deviceorientation', function(e) {
    console.log(e.webkitCompassHeading || e.compassHeading || e.alpha || 0);
  });

然而 Opera0一直在说。我还尝试AbsoluteOrientationSensor使用 Permission API 检查它:

alert("AbsoluteOrientationSensor" in window); // Opera says true

Promise.all([navigator.permissions.query({ name: "accelerometer" }),
             navigator.permissions.query({ name: "magnetometer" }),
             navigator.permissions.query({ name: "gyroscope" })])
   .then(results => {
      if (results.every(result => result.state === "granted")) {
        alert("Permissions granted");
      } else {
        alert("Permissions blocked");
      }
    });

// Opera says Permissions granted

但同样:传感器读取(来自下面链接中的基本示例)在 Chrome 中工作,在 Opera 中是无声的。MDN 说DeviceorientationAbsoluteOrientationSensor应该在 Opera 中工作,那么我错过了什么?

标签: javascriptoperaandroid-sensors

解决方案


推荐阅读