移动版Safari和Mac版Safari之间的Javascript差异?

9
嘿,这个问题很普遍,但我想知道移动版Safari和Mac版Safari的JavaScript差异是什么。
我曾认为从JavaScript角度来看它们是相同的,只有一些CSS/渲染方面的区别。但是我在移动版Safari中遇到了一些JavaScript错误,在Mac上的常规版Safari中并不存在这些错误。
基本上,对于某些jQuery插件的呼叫在移动版Safari中返回未定义值(根据开发人员在移动版Safari中调试器的显示)。
我正在经历这些问题的网站有一个非常糟糕的前端,里面充满了验证错误、糟糕的JS和大量附加的CSS。我毫不怀疑这个问题出现在这段代码的某个地方,而且我以前从来没有遇到过这样的问题。
我只是在解决问题方面遇到了麻烦,因此希望能得到任何关于JavaScript引擎一般差异的见解/链接将不胜感激。

正如drawnonward所说,问题将更多地由于DOM/BOM的差异而不是JS引擎本身的差异。但让我们测试这些差异也很有用,特别是当Mobile Safari不是每个人都可以随意测试的时候。 - bobince
2个回答

2
Javascript本身,也就是核心语言,没有什么不同。DOM中有一些重要的差异似乎没有记录在案,但大多数情况下都是相同的。在这里,您可以看到一些事件处理方面的差异。
我注意到的DOM差异与元素尺寸的测量有关。例如,至少对于Selection或Range,getClientRects是不可用的。可能还有其他的东西。

0
在我谈论Safari在不同环境或版本中的差异之前,先说一句:Safari可能的环境列表不仅限于iPod、iPhone和iMac。
我还要处理以下问题:Windows(桌面)上的Safari和iMac上iOS模拟器中的Mobile Safari。
我的jQueryMobile + PhoneGap应用在Windows(桌面)上的Safari和iMac上的Safari中运行良好,但在iMac Snow Leopard上的iOS模拟器中存在以下问题:
  1. Google Analytics在iOS模拟器中被“白名单拒绝”。
  2. 我的应用程序在用户设置过程的早期阶段出现了另一个问题而挂起
那个问题可能是以下任何一个:
  1. 放置在元素之后的标签可能无法正确加载
  2. 对localDb的调用可能没有通过
  3. jQuery的事件(pageinit、click等)可能无法以相同的方式传递

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接