Mac上的Mobile Safari和Safari之间的Javascript差异?

时间:2010-07-08 17:09:28

标签: javascript iphone safari webkit mobile-safari

嘿,这个问题非常普遍,但我想知道移动Safari和Safari for Mac中的Javascript差异是什么。

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

在我根据环境或构建添加关于Safari差异的两分钱之前:Safari的可能环境列表比iPod,iPhone,iMac更大。

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

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

  1. Google Analytics在iOS模拟器中获得“白名单拒绝”。
  2. 我的应用程序在用户的设置过程中通过另一个问题提前挂起
  3. 其他问题可能是以下任何一个:

    1. 在元素之后放置的标签可能未加载 正确
    2. 对localDb的调用可能无法通过
    3. 进行
    4. jQuery的事件(pageinit,点击等)可能不会以同样的方式出现