【问题标题】:refresh web-page on iPad orientation change [duplicate]在 iPad 方向更改上刷新网页 [重复]
【发布时间】:2015-07-11 21:00:56
【问题描述】:

我想在用户倾斜 iPad 时自动刷新/重新加载网页。我做了很多研究,但无法找到解决方案。在浪费一天时间寻找答案之前,有谁知道这是否可能?

【问题讨论】:

  • 使用window.onorientationchange函数得到这个

标签: javascript ios orientation


【解决方案1】:
window.onorientationchange = function()
{
   window.location.reload();
}

【讨论】:

  • 我已经试过了,但还是不行..
  • 在运行 iOS 6 的 iPad 2 上测试,并且可以逐字运行。
  • @ThomasBLund 实际上,请记住最后一个右大括号末尾的分号。
  • 这太慢了,因为它会重新加载整个页面,包括图像和所有内容。请参阅this answer 以获得更快的解决方案(10 毫秒)。
【解决方案2】:

注意:这个问题是duplicate,应该关闭。我将在这里发布我的答案的要点。

  window.addEventListener('orientationchange', function () {
    var originalBodyStyle = getComputedStyle(document.body).getPropertyValue('display');
    document.body.style.display='none';
    setTimeout(function () {
      document.body.style.display = originalBodyStyle;
    }, 10);
  });

代码监听orientationchange event 并通过隐藏body 元素并在10 毫秒后显示它来强制重新流动。它不依赖于任何<meta> 标签或媒体查询。而且它不会重新加载整个页面。

【讨论】:

    【解决方案3】:

    您可以像这样在方向更改时调用 UIWebview 的委托

    - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
    {
         [_webview reload];
    }
    

    您还需要在 .h 文件中包含 UIWebviewDelegate 并将委托分配给自己。

    【讨论】:

    • 这不是 JavaScript。 OP 正在寻找 JS 解决方案。
    猜你喜欢
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 2014-01-02
    • 1970-01-01
    相关资源
    最近更新 更多