2010-12-14 83 views
0

我正在研究在iPad移动版Safari中良好显示的Web应用程序。

当一个快捷方式被保存到跳板时,它最终会很好地发挥作用,它将用于显示跳板图标,闪屏等的正确元标记放在一起。

不幸的是,应用程序使用$(window).width()$(window).height()和经常(不总是这样,不,我不能说什么时候,我要对那个疯狂)的$(window).height()调用返回0

我必须知道的大小根据视口大小和方向动态设置图像宽度和高度。该应用程序还使用jQuery-ui和jQGrid,当高度评估为0时,它们都会中断。

jq-ui对话框显示在屏幕顶部而不是中间,并且表格也无法正确显示。

+1

您是否使用'$(document).ready(...)',如[此处所述](http://www.learningjquery.com/2006/09/introducing-document-ready),以确保你的脚本不会运行,直到DOM完成加载?如果你没有这样做(或者与之相当),这可能是你的间歇性“零高度”问题的原因。 – Lee 2010-12-14 22:02:46

+0

这个问题太模糊不清,无法回答。 – 2010-12-14 22:43:02

回答

0

这是因为视口。在一个普通的屏幕上,这是一个基本的X乘Y坐标平面。在触摸屏上,将一张纸放在一张大纸片(网站)上的小纸片上,想象一下视口。以下是可能有所帮助的帖子:

Mobile Safari使用视口向您显示网站。想象一下你面前的一本书。拿一张纸,在里面剪一个320×416的方格,放在书上。要阅读本书,请将纸张四处移动并将其放置在您想要看到的字词上方。这正是Mobile Safari的视口正在做的事情。当您轻弹并滚动时,您将移动视口,同时其背后的网站保持静态。

由于此问题,您可能无法获取所需的值。以下是该帖子的链接。希望这将一些线索定位在关于触摸屏应用

http://doctyper.com/archives/200808/fixed-positioning-on-mobile-safari/

此外,李是正确的,你需要确保你的文件已经准备就绪。

+0

是的,我使用$(document).ready。请注意,相同的应用程序在Safari Mobile中运行良好,在将书签保存到跳板并以全屏模式查看应用程序时会出现问题。 – simone 2010-12-15 09:22:46

1

碰巧它不是iPad问题!在搜索和搜索没有结果之后,我决定调查从iPad发出并由asp.net执行的http请求和响应:事实证明,asp.net回复的内容类型设置为“application/xhtml + xml”而不是“文本/ HTML”,原因是在从http://mdbf.codeplex.com采取的“mobile.browser”文件中的一个错误,该文件为iPad应用程序/ xhtml + xml设置为preferredMimeType! 将其重置为正确的类型后,效果都很好。 我在这里回答,以防万一任何人都可能在同一问题中发生。 btw,不再支持mdbf。 坦克所有

0

尝试在短暂延迟之后检查宽度&高度 - 例如:setTmeout(300)。

相关问题