如何在移动版 Safari 上设置文档高度?

How to set document height on mobile Safari?

我们正在使用从左侧浮动的汉堡菜单。由于页面很长而菜单很短,因此决定将文档高度设置为等于菜单高度。我们使用的是 jQuery,所以这是一个非常简单的代码行:

$(document).height( 1025 ); // the number is just an example

无论如何,这在 FF、Chrome 桌面和 Chrome 设计模拟器中都很有效,但在移动 Safari 上失败(在 iPad 上测试 iOS8).

在设置为所需值后尝试检查文档高度时,它并没有改变:

alert($(document).height());

这给出:在桌面浏览器上为 1025,在移动 Safari 上为 3000+。

所以问题是 - 有谁知道如何解决这个问题 - 例如如何在移动版 Safari 上设置 $(document) 高度?

这似乎是 Safari 中的错误。您可以尝试准确检测此版本的 Safari:

navigator.userAgent.match

在此之后,如果 "match" 等于损坏的 Safari,则将特殊的 class 添加到正文元素中:

$('body').AddClass('safarifix');

完成后,尝试将某种 CSS 添加到您网页的 <head></head>

.safarifix { height: 1025px; }

祝你好运!