Firefox for Android中的设备方向代码问题

时间:2015-07-30 13:41:49

标签: javascript html5

以下代码应该使网页上的地图成为手机侧向转动时页面上显示的唯一元素,然后在手机转回原始状态时重新添加其他元素纵向。 适用于Android版Chrome,但在适用于Android的FireFox v39 中无法使用。第一个警报在FireFox中触发,因此我知道支持设备方向,但第二个警报从不在FireFox中触发,因此我的第二个条件有问题。

if (window.DeviceOrientationEvent) {
        alert("supported");
        window.addEventListener('deviceorientation', function (eventData) {
            if (window.orientation == 90 || window.orientation == -90) {
                alert("90 or -90");
                $("#mapTop").css("display", "none");
                $("#mapBottom").css("display", "none");
            }
            else {
                $("#mapTop").css("display", "block");
                $("#mapBottom").css("display", "block");
            }
        });
    }

1 个答案:

答案 0 :(得分:0)

那么试试看看window.orientation是否在FF中有一些值(我不知道,我不能为你测试它。以下代码应该有用。)

if (window.DeviceOrientationEvent) {
    alert("supported");
    window.addEventListener('deviceorientation', function (eventData) {
        alert(window.orientation)
    });
}

我建议您使用eventData.alphaeventData.betaeventData.gamma属性来确定此处所述的方向

https://developer.mozilla.org/en-US/docs/Web/API/DeviceOrientationEvent