2010-07-08 17 views
9

Hej, to pytanie jest dość ogólne, ale zastanawiam się, jakie różnice w JavaScript występują w Mobile Safari i Safari na komputery Mac.Różnice w JavaScript między Mobile Safari a Safari na Macu?

Miałem wrażenie, że z perspektywy JavaScript są takie same, z pewnymi różnicami w CSS/renderingu. Ale doświadczam wielu błędów JavaScript w Safari mobilnym, których nie ma w zwykłym Safari na Macu.

Zasadniczo liczba wywołań do niektórych wtyczek jQuery zwraca nieokreślone wartości (zgodnie z debugerem programisty w Mobile Safari).

Witryna, na której doświadczam tych problemów, ma bardzo kiepski front, który jest obarczony błędami walidacyjnymi, kiepskim JS i zawiera olbrzymią ilość załączonych CSS. Nie mam wątpliwości, że ten problem leży gdzieś w tym kodzie i nigdy wcześniej nie doświadczyłem takich problemów.

Po prostu mam problem z zaostrzeniem problemu, więc wszelkie wglądy/linki dotyczące ogólnych różnic w silnikach JavaScript byłyby mile widziane.

+0

Jak powiedział drawonward, problemy będą spowodowane różnicami DOM/BOM bardziej niż różnice w samym silniku JS. Ale przyjmijmy te - warto o tym wiedzieć, zwłaszcza, gdy Mobile Safari nie jest swobodnie dostępne dla wszystkich do przetestowania. – bobince

Odpowiedz

2

Sam JavaScript, język podstawowy, nie jest inny. Istnieje kilka znaczących różnic w DOM, które wydają się nieudokumentowane, ale w większości są takie same. Tutaj możesz zobaczyć pewne różnice w events, które możesz obsłużyć.

Różnice DOM, które zauważyłem, dotyczyły elementów pomiarowych. Na przykład getClientRects, przynajmniej dla zaznaczenia lub zakresu, nie było dostępne. Są prawdopodobnie inne rzeczy.

0

Zanim dodaję dwa grosze na temat różnic w Safari w zależności od środowiska lub kompilacji: lista możliwych środowisk dla Safari jest większa niż tylko iPod, iPhone, iMac.

Mam również do czynienia z: Safari dla systemu Windows (stacjonarnym) i Mobile Safari w iOS Simulator na iMac.

My jQueryMobile + PhoneGap aplikacja działa dobrze w Safari dla Windows (pulpit) i Safari na komputerze iMac, ale ma następujące problemy w Safari na iOS Simulator na iMac Snow Leopard z Xcode 3.x:

  1. Google Analytics otrzymuje "odrzucenie białej listy" w symulatorze iOS.
  2. Moja aplikacja zawiesza się na początku procesu instalacji użytkownika poprzez inny problem

To inny problem może być dowolny:

  1. tagów umieszczonych po elementu nie może być ładowanie prawidłowo
  2. połączeń do localDb może nie przechodzić przez
  3. Zdarzenia jQuery (pageinit, click, etc) mogą nie nadejść w taki sam sposób, jak
Powiązane problemy