iOS Safari扩展了大于视口的框架集

我正在一个网页上有一个包含水平分割的框架集; 左边的侧边菜单和内容区域。

<!DOCTYPE html> <html> <head> <title>Frameset Test</title> </head> <frameset border="0" cols="100,*"> <frame id="SideMenu" name="SideMenu" src="SideMenu.html" scrolling="no" /> <frame id="MainPage" name="MainPage" src="LongPageContent.html" scrolling="auto" /> </frameset> </html> 

在桌面浏览器(包括Safari)中,框架集被设置为视口的大小,并且在MainPage框架中出现长页面内容的滚动条。 在iOS上的Safari中,框架集扩展为与MainPage框架中的内容相同的大小,并延伸到可见视口之外。

我希望以前的行为,使页面大小保持与视口相同,无论MainPage中的内容。 我用视口元标记弄乱了,但调整视口不会修改框架行为。

我知道苹果的iOS指导方针build议避免框架集,因为滚动更混乱(需要在框架中双指滚动),但抛开框架不是一个好的select。

Safari内容指南指出这是正常行为。 该框架将扩大您的内容,你将无法滚动。

我很抱歉,但你将不得不丢弃框架。

你可以将Nav边写入每个页面(这太可怕了),或者把一些东西放在一起,将SideMenu的内容dynamic加载到列中。

AFAIK, <frame><iframe>双指滚动行为已被放弃。 由于iOS 4.X的元素正在调整其内容的大小。

作为position:fixed; 在iOS上无法工作,您不能阻止SideMenu框架让其余的滚动。

这个库似乎提供了一个有趣的解决方法: http : //cubiq.org/iscroll