14

我正在尝试使用 jQuery mobile 触发一个事件,该事件会在设备的方向更改时自动重新加载页面。我有用max-device-width, orientation:landscape,and编写的媒体查询orientation: portrait。由于<video>不会正确缩放......我能想到的唯一解决方案是在设备旋转的情况下将页面刷新为正确的媒体查询。

我该怎么做呢?谢谢。

4

5 回答 5

21

感谢回答的人,但我发现了这个并使用了它,它运行得很好。

<script type="text/javascript"> // RELOADS WEBPAGE WHEN MOBILE ORIENTATION CHANGES  
    window.onorientationchange = function() { 
        var orientation = window.orientation; 
            switch(orientation) { 
                case 0:
                case 90:
                case -90: window.location.reload(); 
                break; } 
    };

于 2013-07-18T20:34:08.063 回答
10

这个怎么样?

$(window).on('orientationchange', function(e) {
     $.mobile.changePage(window.location.href, {
        allowSamePageTransition: true,
        transition: 'none',
        reloadPage: true
    });
});

最好将该orientationchange 事件命名为特定页面。

jQM docs onorientationchange 事件

于 2013-07-17T20:00:34.990 回答
2

使用 jQuery

$(window).bind('orientationchange', function (event) {
    location.reload(true);
});
于 2018-05-17T20:43:16.333 回答
1
<script type="text/javascript">
window.addEventListener("orientationchange", function() {
        console.log(screen.orientation);
}, false);
</script>
于 2017-07-26T12:05:05.107 回答
1

请尝试以下代码在方向事件中重定向页面,它对我来说很好用

if (window.DeviceOrientationEvent) {
    window.addEventListener('orientationchange', function() { location.reload(); }, false);
}

谢谢

于 2017-07-07T05:44:47.183 回答