该页面如何检测桌面浏览器窗口的移动?

问题描述 投票:0回答:2

在搞乱一些DeviceOrientation的东西时,我遇到了this页面。

当您摇动浏览器时,网站会做出反应!这里使用什么API来检测浏览器移动?我注意到它适用于最新版本的Safari,Firefox和Chrome。

我在DeviceOrientation文档中没有看到任何提及,也没有在three.js上看到...

javascript html5
2个回答
1
投票

他们使用window.screenX/screenY属性获取浏览器窗口位置,使用window.innerWidth/innerHeight获取窗口大小。

Window.screenX只读属性返回用户浏览器视口左边框到屏幕左侧的水平距离(以CSS为单位)。

以下函数用于该代码:

function getBrowserDimensions() {

    var changed = false;

    if (stage[0] != window.screenX) {

        delta[0] = (window.screenX - stage[0]) * 50;
        stage[0] = window.screenX;
        changed = true;

    }

    if (stage[1] != window.screenY) {

        delta[1] = (window.screenY - stage[1]) * 50;
        stage[1] = window.screenY;
        changed = true;

    }

    if (stage[2] != window.innerWidth) {

        stage[2] = window.innerWidth;
        changed = true;

    }

    if (stage[3] != window.innerHeight) {

        stage[3] = window.innerHeight;
        changed = true;

    }

    return changed;

}

0
投票

使用screen.orientation属性。 reference

© www.soinside.com 2019 - 2024. All rights reserved.