如何在移动版 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; }
祝你好运!
我们正在使用从左侧浮动的汉堡菜单。由于页面很长而菜单很短,因此决定将文档高度设置为等于菜单高度。我们使用的是 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; }
祝你好运!