如何在方向改变时重新加载网页?

时间:2013-07-17 19:45:13

标签: html5 jquery-mobile mobile media-queries

我正在尝试使用jQuery mobile触发事件,当设备的方向发生变化时,该事件会自动重新加载页面。我使用max-device-width, orientation:landscape,orientation: portrait编写了媒体查询。由于<video>无法正确扩展...我能想到的唯一解决方案是将页面刷新到正确的媒体查询,同时旋转设备。

我该怎么做呢?感谢。

5 个答案:

答案 0 :(得分:15)

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

<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; } 
    };

答案 1 :(得分:7)

这个怎么样?

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

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

jQM docs on orientationchange event

答案 2 :(得分:1)

请尝试使用以下代码重定向定位事件页面,对我来说效果很好

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

由于

答案 3 :(得分:1)

<script type="text/javascript">
window.addEventListener("orientationchange", function() {
        console.log(screen.orientation);
}, false);
</script>

答案 4 :(得分:1)

使用jQuery

$(window).bind('orientationchange', function (event) {
    location.reload(true);
});