【问题标题】:Javascript differences between Mobile Safari and Safari on Mac?移动 Safari 和 Mac 上的 Safari 之间的 Javascript 差异?
【发布时间】:2011-03-13 11:32:52
【问题描述】:

嘿,这个问题很笼统,但我想知道 Mobile Safari 和 Mac 版 Safari 中 Javascript 的区别是什么。

我的印象是,从 Javascript 的角度来看,它们是相同的,只是在 CSS/渲染方面存在一些差异。但是我在 Mobile Safari 中遇到了一些在 Mac 上的常规 Safari 中不存在的 Javascript 错误。

基本上,对某些 jQuery 插件的许多调用都返回了未定义的值(根据 Mobile Safari 中的开发人员调试器)。

我遇到这些问题的网站有一个非常糟糕的前端,其中充斥着验证错误、糟糕的 JS 并且附加了大量的 CSS。我毫不怀疑这个问题存在于这段代码的某个地方,而且我以前从未遇到过这样的问题。

我只是在解决这个问题时遇到了麻烦,所以任何关于 Javascript 引擎的一般差异的见解/链接都将不胜感激。

【问题讨论】:

  • 正如drawonward所说,DOM/BOM差异导致的问题多于JS引擎本身的差异。但是让我们知道这些对了解很有用,尤其是当 Mobile Safari 并非免费供所有人测试时。

标签: javascript iphone safari webkit mobile-safari


【解决方案1】:

核心语言 Javascript 本身也不例外。 DOM 中有一些显着的差异似乎没有记录,但大部分都是相同的。在这里,您可以看到events 中的一些您可以处理的差异。

我注意到的 DOM 差异与测量元素有关。例如getClientRects,至少对于选择或范围不可用。可能还有其他事情。

【讨论】:

    【解决方案2】:

    在我补充两分钱之前,Safari 因环境或构建而异:Safari 可能的环境列表不仅仅是 iPod、iPhone、iMac。

    我也在处理:Windows(桌面)的 Safari 和 iOS 模拟器中在 iMac 上的移动 Safari。

    我的 jQueryMobile + PhoneGap 应用程序在 Windows(桌面)的 Safari 和 iMac 上的 Safari 中运行良好,但它在带有 XCode 3.x 的 iMac Snow Leopard 上的 iOS 模拟器上的 Safari 中存在以下问题:

    1. Google Analytics 在 iOS 模拟器中被“白名单拒绝”。
    2. 由于另一个问题,我的应用程序在用户设置过程的早期挂起

    其他问题可能是:

    1. 放置在元素之后的标签可能无法加载 妥妥的
    2. 对 localDb 的调用可能无法通过
    3. jQuery 的事件(pageinit、click 等)可能不会以同样的方式出现

    【讨论】:

      猜你喜欢
      • 2019-11-12
      • 2017-07-14
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2011-01-02
      • 2022-01-16
      相关资源
      最近更新 更多