2010-12-14 86 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)。

相關問題