首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >三星Galaxy上缺少DeviceMotionEvent和DeviceOrientationEvent

三星Galaxy上缺少DeviceMotionEvent和DeviceOrientationEvent
EN

Stack Overflow用户
提问于 2019-08-08 12:20:40
回答 1查看 591关注 0票数 1

以下是我的三星Galaxy Tab的用户代理

Mozilla/5.0 (Linux;Android8.1.0;SM-T580 Build/M1AJQ;wv) AppleWebKit/537.36 ( Chrome/76.0.3809.89,类似壁虎)版本/4.0 Safari/537.36

请注意,截至今天(2019年8月8日),这是最新版本的铬。作为参考,这里是我的Pixel 3用户代理:

Mozilla/5.0 (Linux;Android 9;Pixel 3) AppleWebKit/537.36 ( Chrome/76.0.3809.89,类似壁虎)

两者都有相同的铬版。

当检查平板电脑上的window.DeviceOrientationEvent时,我得到undefined和像素电话ƒ DeviceOrientationEvent() { [native code] }

这个事实导致我的定向听者在平板电脑上失败。

代码语言:javascript
复制
window.addEventListener('deviceorientation', (event) => {
    console.log(event);
});

如果铬版是相同的,那怎么可能呢?是否有三星的“禁用机制”作为默认行为,或者可能是一个缺陷?

你的猜测是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-03-06 14:48:17

事实上,了解这种情况发生的原因可能会很有趣。我的智能手机GalaxyS10也有同样的问题。用户代理是这样一个:

用户代理: Mozilla/5.0 (Linux;Android 10;SM-G973F) AppleWebKit/537.36 ( Chrome/80.0.3987.119,像壁虎一样)

当我看到浏览器兼容性表这里时,我不明白为什么我的手机无法启动这个事件。

可以帮助(您可能已经尝试过了)是用orientationchange事件来代替这个事件,它也允许您监视设备的方向。

你有个短小的这里医生!

我为我的测试做了一个例子,我很高兴与大家分享,这就是:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <title>Orientation - Screen Mode</title>
    <meta name="viewport" content="width=device-width, user-scalable=no">
</head>
<body>
    <span id="mode" />
    <script>
    (function() {
        var mode = document.getElementById('mode');
        function modeFrom(orientationAngle) {
            return orientationAngle !== 0? 'landscape': 'portrait';
        }
        function setInfosFrom(o, value) {
            value = 'Non compatible browser!';
            if (o !== undefined) {
                value = modeFrom(o) + " (angle " + o + "&deg;)";
            }
            mode.innerHTML = value;
        }
        function setInfos() {
            setInfosFrom(window.orientation);
        }
        setInfos();
        window.addEventListener('orientationchange', setInfos, false);
    }());
    </script>
</body>
</html>

希望它能对你或其他读者有所帮助!)

祝你今天愉快!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57412448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档