2011-04-01 70 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