我正在开发一个在iPad移动版Safari中很好地展示的网络应用程序。
当快捷方式保存到跳板时,它最终会很好地运行,将正确的元标记放在一起以显示跳板图标,启动画面等。
不幸的是,应用程序使用$(window).width()
和$(window).height()
并且经常(不总是,不,我不能说什么时候,我对此感到疯狂)$(window).height()
调用返回0。
我必须根据视口大小和方向动态设置图像宽度和高度的大小。该应用程序还使用jQuery-ui和jQGrid,当高度计算结果为0时,它们都会中断。
jq-ui对话框显示在屏幕顶部而不是中间,表格也无法正确显示。
答案 0 :(得分:5)
可能的解决方法是:
height = window.innerHeight ? window.innerHeight : $(window).height()
答案 1 :(得分:1)
碰巧这不是iPad的问题!在搜索和搜索没有结果后,我决定调查从iPad发出并由asp.net执行的http请求和响应:事实证明,asp.net回复了内容类型设置为“application / xhtml + xml”而不是“text / html”,原因是从http://mdbf.codeplex.com获取的“mobile.browser”文件中的一个错误,该文件为iPad application / xhtml + xml设置为preferredMimeType! 将其重置为正确类型后,一切正常。 我在这里回复以防万一有人可能会遇到同样的问题。 顺便说一句,不再支持mdbf。 所有坦克
答案 2 :(得分:0)
这是因为视口。在常规屏幕上,它是一个基本的X乘Y坐标平面。在触摸屏上,将视口想象成一张纸,在一张大纸(网站)的顶部移动。以下是可能有用的文章:
Mobile Safari使用视口向您显示网站。想象一下你面前的一本书。拿一张纸,在里面切一块320×416的正方形,然后把它放在书上。要阅读书籍,请移动纸张并将孔放在要查看的单词上。这正是Mobile Safari的视口正在做的事情。当您轻弹并滚动时,您正在移动视口,而其背后的网站保持静止。
由于此问题,您可能无法获得所需的值。以下是该帖子的链接。希望这将有助于阐明触摸屏应用的定位
http://doctyper.com/archives/200808/fixed-positioning-on-mobile-safari/
此外,李是正确的,你需要确保你的文件准备就绪。
答案 3 :(得分:0)
尝试检查宽度和宽度短暂延迟后的高度 - 例如:setTmeout(300)。