【问题标题】:reload web app on orientation change在方向更改时重新加载 Web 应用程序
【发布时间】:2015-04-24 13:30:32
【问题描述】:

简单的问题。我尝试了不同的搜索词组。我最近尝试的是“在方向更改时重新加载网络应用”

知道非常怀疑之前有人在 Stackoverflow 上问过这个问题,但搜索结果没有回答我的简单问题。

1) 我有一个网站,当手机在横向视图中时,它在智能手机上呈现良好,直到...

2) 我将智能手机重新定位到“纵向”视图位置,手机处于正常位置,手机的长高度是垂直的

那么网页是使用整个屏幕的。页面保持完全相同的高度,与手机在横向模式下“侧身”握持时的高度相同。我看到的是仅使用智能手机屏幕顶部 2/5 的页面。

当我手动重新加载页面时,网页会完全填满屏幕的整个高度。

我添加了这个,它没有任何改变:

  <meta name="viewport" content="height = [pixel_value | 'device-height'],
      width = [pixel_value | 'device-width']" />

我更喜欢强制页面重新加载或某事 ??当智能手机的方向发生变化时,在 javascript 中。

因为我知道当我将智能手机从横向旋转到纵向后重新加载页面时,我的网页将(并且只有这样)会使用智能手机屏幕的整个高度。

我只使用纯 JavaScript。

当智能手机的方向从横向更改为纵向时,如何在我的网络应用中重新加载我的网页?

【问题讨论】:

    标签: javascript css


    【解决方案1】:

    这是一个您所追求的非常简单的解决方案,但是,

    $( window ).resize(function() {
      window.location.reload();
    });
    

    是一种在用户改变方向时刷新页面的可靠方法。

    你也可以使用

    screen.addEventListener("orientationchange", function() {
      window.location.reload();
    });
    

    如果您希望您的网页具有响应性,通常您应该确保编写正确的 HTML/CSS 是这样的设置,而不是恢复到这种粗糙的解决方案

    【讨论】:

    • 由于我缺乏如何编写正确的 HTML/CSS 来处理这种屏幕方向更改情况的经验,我不确定这里,我希望我这样做了。如果您有一个涵盖此特定案例的链接,我很想知道,并且可能还有其他关于 SO 的链接;感谢您的帮助,感谢您让我知道还有一种更优雅的方式。我是一个 55 岁的老人,我不在公司环境中工作——当我以此为生时,当我有同事作为资源时,我学得更快。再次感谢。
    • 我明白了 - 但 55 听起来并不老 - 至少对我来说。祝你好运
    • 我尝试了 screen.addEventListener() ,但没有成功。我将“屏幕”更改为“窗口”,但没有用;所以我还在研究这个。我猜我正在使用的 LG 智能手机和三星 Galaxy Tab Pro 平板电脑移动设备——都是 Android——不会触发 'orientationchange' 事件之类的。
    • 改用 resize - 我在上面提到它更可靠
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2012-03-19
    相关资源
    最近更新 更多