Различия в JavaScript между Mobile Safari и Safari на Mac? - PullRequest
9 голосов
/ 08 июля 2010

Эй, этот вопрос довольно общий, но мне интересно, чем отличаются Javascript в Mobile Safari и Safari для Mac.

У меня сложилось впечатление, что с точки зрения Javascript они одинаковы, только с некоторыми отличиями в CSS / рендеринге. Но я сталкиваюсь с рядом ошибок Javascript в Mobile Safari, которых нет в обычном Safari на Mac.

В основном, количество вызовов определенных плагинов jQuery возвращают неопределенные значения (согласно отладчику разработчика в Mobile Safari).

Веб-сайт, на котором я испытываю эти проблемы, имеет очень паршивый интерфейс, изобилующий ошибками проверки, паршивый JS и имеющий огромное количество CSS-приложений. Я не сомневаюсь, что эта проблема лежит где-то в этом коде, и я никогда не сталкивался с подобными проблемами раньше.

У меня просто проблемы с оттачиванием этой проблемы, поэтому любые замечания / ссылки относительно общих различий в движках Javascript будут высоко оценены.

Ответы [ 2 ]

2 голосов
/ 08 июля 2010

Сам Javascript, основной язык, ничем не отличается.Есть несколько существенных различий в DOM, которые кажутся недокументированными, но в основном это все то же самое.Здесь вы можете увидеть некоторые различия в событиях , которые вы можете обработать.

Различия DOM, которые я заметил, были связаны с измерительными элементами.Например, getClientRects, по крайней мере, для выбора или диапазона, было недоступно.Возможно, есть и другие вещи.

0 голосов
/ 16 марта 2012

Прежде чем я добавлю два моих цента о различиях в Safari в зависимости от среды или сборки: список возможных сред для Safari больше, чем просто iPod, iPhone, iMac.

Я также имею дело с: Safari для Windows (рабочий стол) и Mobile Safari в iOS Simulator на iMac.

Мое приложение jQueryMobile + PhoneGap прекрасно работает в Safari для Windows (на рабочем столе) и Safari в iMac,но у него есть следующие проблемы в Safari на iOS Simulator на iMac Snow Leopard с XCode 3.x:

  1. Google Analytics получает «отклонение белого списка» в симуляторе iOS.
  2. Мое приложениеВначале зависает в процессе установки пользователя из-за другой проблемы

Эта другая проблема может быть любой из:

  1. тегов, размещенных после элемента, возможно, не загружается должным образом
  2. вызовы localDb могут не поступать через
  3. События jQuery (pageinit, click и т. Д.) Могут не поступать, хотя аналогичным образом
...