当我将iPad方向从纵向更改为横向时,页面会继续重新加载

时间:2012-09-04 20:27:39

标签: jquery css ipad layout portrait

我一直在谷歌搜索我的问题的解决方案,并没有成功。所以我在这里寻求你的帮助。非常感谢提前。

可以看到页面HERE!。

标题和侧边栏在样式表中有 position:fixed ,而left的值是用jQuery动态生成的。为了在窗口调整大小或缩放时正确重新排列标题和侧边栏,我添加了:

/* Reload page on window Resize */
jQuery(window).bind('resize',function(){
    window.location.href = window.location.href;
});

对于窗口部分占用的情况(例如按[CTRL] + [B],例如在Firefox中显示书签),我添加了:

/* Reload page if window Partially Occupied */
var screen_width = screen.width;
window.onresize = function(){
  if(window_width != screen_width) {
    location.replace(location.href);
  }    
}

看看整个代码,我希望你会喜欢它。

问题:

在iPad上,当我将其方向从纵向更改为横向时,页面将不断重新加载(纵向方向一切正常)。我不认为iPad坏了,因为我在第二个测试了。

有人可以告诉我这是什么问题吗?如果在Galaxy Tab上发生同样的情况?

谢谢!

2 个答案:

答案 0 :(得分:0)

在调整大小时重新加载页面看起来不太好,您可以尝试使用媒体查询在页面调整大小时设置CSS更改。

要解决此问题,您可以尝试的一件事是在iPad上关注方向更改事件,并在客户端是iPad时忽略调整大小事件。

我认为您需要为此添加JQuery Mobile(JQM)。 请参阅http://jquerymobile.com/test/docs/api/events.html

上的JQM事件

答案 1 :(得分:0)

问题:

  

在iPad上,当我将其方向从纵向更改为横向时,   页面将不断重新加载(纵向方向全部   很好)。我不认为iPad坏了因为我测试过了   第二个。谁能告诉我这是什么问题?如果是的话   同样的情况发生在Galaxy Tab上?

答案:

$(window).bind('orientationchange', function (e) {
    switch (window.orientation) {
        case 0:
            //portrait mode
            break;
        case 90:
            //turned to the right
            location.reload();
            break;
        case -90:
            //turned to the left
            location.reload();
            break;
    }
});