2011-04-01 75 views
2

我將不勝感激關於如何解決這個問題的一些指針。快速總結的情況:幫助解決在iPad上的jQuery UI選項卡問題

  1. 我有一個大文檔(200K)分爲五個不等長度的主要部分,其中每個對應於一個jQuery UI選項卡。
  2. 該頁面適用於Windows的Safari,Macintosh的Safari,Opera,Firefox,Chrome和IE。
  3. 頁面曾經在iPad上工作,但它不再,而且它的iPad已經改變,而不是頁面。

在iPad上,標籤內容現在被切斷。例如。其中一個頁面是從A-Z運行的詞彙表,並且頁面在-H-字母處切斷。它用來一直滾動到-Z-。出於某種原因,iPad Safari並未爲每個Tab提供其內容所需的全部垂直空間。

我已經看過顯示選項卡的jQuery UI代碼,它似乎在更改CSS類hide/show,但我不是ninja javascript編碼器。當我的網頁在所有其他瀏覽器上按預期工作時,如何開始找出iPad上出現了什麼問題?

編輯:該頁面似乎在iPad2上正常工作。這可能是一個緩存問題,即使在iPad2上,頁面也可能停止工作 - 我只能在蘋果商店進行測試。但我相信標記和編碼以及jQuery ui本質上是好的,這是一個iPad Safari問題。

回答

0

我不能在沒有代碼的情況下自行拍攝自己,但解決這類問題的最佳方法是使用名爲Weinre的工具。很明顯,如果一個瀏覽器(iPad)出現問題,您需要直接使用它進行故障排除。這很難,因爲iPad沒有開發工具,但Weinre實際上可以通過網絡給你(大部分)。

按照說明here,但你至少需要提供一個~/.weinre/server.properties包含此:

boundHost: -all- 
httpPort:  8081 
reuseAddr: true 
readTimeout: 1 
deathTimeout: 5 

會告訴weinre對每一個IP偵聽的端口8081開始Weinre上(通過OS X轉輪或在命令行上使用java -jar weinre.jar

然後你在主頁添加特殊script標籤:

<script src="http://YOUR_IP_NUMBER:8081/target/target-script-min.js"></script> 

在此之後啓動Safari或Chrome和去http://localhost:8081/client/。如果一切按計劃進行,您將看到Weinre界面,它是WebKit開發人員工具的子集。

現在用iPad或模擬器連接到您的開發機器。如果腳本標記正確,Weinre與iPad建立連接,並且您擁有相當大的WebKit開發人員工具子集供您排除故障。祝你好運!

+0

Tacksåmycket。我注意到weinre頁面上提到了它的工具「JavaScript的源代碼級調試是不可能的」,這可能是問題出現的地方。但是非常有幫助的回覆。 – Tim 2011-04-15 10:41:47

0

以前版本的jQuery UI選項卡中有功能,允許對選項卡的高度進行操作。檢查出這個問題的答案:jQuery UI Tabs - Automatic Height

具體來說,試試這個:

$( 「ul.tabs一」)的CSS( '高度',$( 「ul.tabs」)的高度。 ());

+0

感謝您的鏈接,但建議的方法並不能解決iPad Safari內容截斷問題。 – Tim 2011-04-07 22:44:02

-1

我確定這不是您希望的答案,但它聽起來像是應該向Apple報告的錯誤。

你有一個頁面可以在任何其他瀏覽器上完美地工作,我認爲它對蘋果公司而言也是最有利的,它也適用於iPad。

可能有其他頁面曾經工作,但現在不這樣做,所以我會認爲這個bug是相當高的優先級。

+0

頁面確實是4.01嚴格的,並且在其他地方都能很好地工作,所以我傾向於將它作爲一個bug報告給Apple。但首先,我希望得到jQuery UI社區成員的一些證實,他們努力確保他們的頁面能夠在iPad上工作(還經常使用StackOverflow)。這可能是一個已知的問題,但我懷疑許多人正在以我的極端方式使用選項卡,即組織多部分200K文檔。這可能是少數開發人員遇到的情景。 – Tim 2011-04-08 15:26:12