【问题标题】:Does jQuery show() / hide() on iPhone / Android work?iPhone / Android 上的 jQuery show() / hide() 是否有效?
【发布时间】:2011-02-28 15:34:34
【问题描述】:

我一直在测试一个在移动设备上使用简单 hide() / show() 表单的网站。在桌面上工作得很好,但在移动设备上根本不行。有谁知道这些功能是否支持?

使用 jQuery 1.5

谢谢

瑞克

【问题讨论】:

    标签: javascript jquery iphone android mobile


    【解决方案1】:

    是的,jQuery 在 iPhone 和 Android 上运行良好。

    【讨论】:

    • 顺便说一句,这很容易测试自己。
    • 我已经对其进行了测试,但它对我不起作用。我是专门询问显示和隐藏的。只是看看是否有人让它工作,如果这是我的错误。
    • 您是否以孤立的方式对其进行测试?即股票 jQuery,只有一个 div 和调用显示/隐藏?我在各种智能手机项目中都使用了 jQuery,没有任何问题。我猜你在某个地方有一个 JS 错误。
    • 脚本执行顺序问题。做了一个简单的测试页。那工作得很好。但是无论我在正确的站点上做什么,手机都会抛出错误 ReferenceError: can't find variable $.尝试过各种脚本加载器。没有任何作用!也许我应该做一些更新,可能是一个错误。
    【解决方案2】:

    是的,工作正常, 我专门为智能手机(iPhone、Android)做过许多项目,并且很有魅力

    您可以肯定这一点,因为新的移动 Web 框架、jQtouch 和 jQuery mobile 也包含在 jQuery 和许多其他框架中。

    【讨论】:

      【解决方案3】:

      Ric 我不会说将所有 JS 文件组合在一起真的是一个糟糕的解决方案,事实上我认为缩小和组合 JS 代码是一种很好的做法,除非你需要人们能够阅读你的出于某种原因,来自源代码的 JS。很高兴你把它修好了。

      【讨论】:

      • 是的,我同意。我通常使用 SmartOptimizer 来自动缓存文件。只是有时我不想在点击主页时下载所有内容。也许他们在 90% 的页面上使用了 jQuery 和我的基本自定义内容,然后有几个页面需要许多大多数人永远不需要的额外 JS。所以我把它分开。我的主要烦恼是所有桌面浏览器都正常工作,但移动浏览器以不同的顺序加载/执行脚本。当我开发时,我喜欢将所有脚本分开进行调试。我将在下面更新我的答案。
      【解决方案4】:

      好的,这是一个糟糕的答案,感谢大家的帮助。

      最后我把所有的 JS 文件组合在一起。这修复了 iPhone / Android 上的脚本执行顺序问题。我不知道为什么它会在这个特定的网站上发生,而且只发生在手机上。

      这不是一个非常优雅的解决方案,我不推荐它。就我而言,这是一个临时的微型网站,所以决定它是可以接受的。如果我发现更多关于这个问题的信息,我会在这里发布。

      正如 Colt 指出的那样,我有点轻率地说将所有文件组合在一起并不是一个优雅的解决方案。事实上,这正是你应该做的!我的挫败感是桌面浏览器和移动浏览器处理 JS 的方式不同,并且在开发网站时,我不会合并/缩小文件,直到我知道它们可以工作。使调试和更新库更容易。

      由于我对提出糟糕的建议感到很抱歉,这里有一个小提示:在生产服务器上时,我使用 Smart Optimizer (http://farhadi.ir/works/smartoptimizer) 来处理文件的加入、缩小、GZipping 和缓存为了我。意味着我的开发代码保持很好的分离,并且很容易安装 jQuery、插件等,但在实时站点上,所有内容都很好地结合在一起。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-15
        • 1970-01-01
        • 1970-01-01
        • 2021-11-29
        • 2018-10-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多