帮助解决iPad上的jQuery UI Tabs问题

时间:2011-04-01 21:42:23

标签: ipad mobile-safari jquery-ui-tabs

对于如何解决此问题的一些指示,我将不胜感激。情况快速摘要:

  1. 我有一个大文档(200K),分为五个不等长度的主要部分,每个部分对应一个jQuery UI选项卡。
  2. 该页面适用于Windows for Safari,Safari for Macintosh,Opera,Firefox,Chrome和IE。
  3. 用于在iPad上工作的页面但它不再用,而且iPad已经改变,而不是页面。
  4. 在iPad上,标签内容现在正在被切断。例如。其中一个页面是一个从A-Z运行的词汇表,页面切换为字母-H-。它曾经一直滚动到-Z-。出于某种原因,iPad Safari没有为每个标签提供其内容所需的全部垂直空间。

    我已经查看了show tab的jQuery UI代码,它似乎正在改变CSS类hide / show,但我不是忍者javascript编码器。当我的页面在其他所有浏览器上按预期工作时,如何开始弄清iPad上的错误?

    编辑:该页面似乎在iPad2上运行正常。这可能是一个缓存问题,即使在iPad2上,页面也可能在某些时候停止工作 - 我只能在Apple商店进行测试。但我相信标记和编码以及jQuery ui基本上没问题,而且这是一个iPad Safari问题。

3 个答案:

答案 0 :(得分:0)

以前版本的jQuery UI Tabs中有一些功能允许操纵选项卡的高度。查看此问题的答案:jQuery UI Tabs - Automatic Height

具体来说,试试这个:

  

$(“ul.tabs a”)。css('height',$(“ul.tabs”)。height());

答案 1 :(得分:0)

我确定这不是您希望的答案,但这听起来像是应该向Apple报告的错误。

你有一个适用于所有其他浏览器的页面,我认为它符合Apple的最佳利益,也适用于iPad。

可能还有其他页面曾经工作,但现在没有,所以我认为这个错误是非常优先的。

答案 2 :(得分:0)

在没有代码的情况下我无法解决问题,但是迄今为止最好的方法就是使用名为Weinre的工具。显然,如果一个浏览器(iPad的)遇到问题,您需要直接使用它进行故障排除。这很困难,因为iPad没有开发人员工具,但Weinre实际上可以通过网络给你(大部分)。

按照here的说明进行操作,但至少需要提供包含此内容的~/.weinre/server.properties

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

这将告诉weinre监听端口8081上的每个IP。启动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开发人员工具来解决问题。祝你好运!