2012-09-21 8 views
7

Czy ktoś zauważył sporadyczne błędy/problemy w nowym silniku javascript iOS 6 podczas uzyskiwania dostępu do właściwości obiektów, w których właściwość została zdefiniowana przy użyciu nowszej składni Object.defineProperty?Problemy z javascript w trybie javascript z obiektem object.defineProperty

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineProperty

widzę sytuacje, w których javascript zawiedzie stwierdzając niezdefiniowane nie jest funkcją o metodach obiektów accessied jako właściwości dotyczących obiektów zdefiniowanych w ten sposób.

+0

dowodu? Przykład jsfiddle byłby świetny. – c69

+2

Jest tutaj zespół, w którym pracuję, który pracuje nad aplikacją HTML5/Javascript, która jest kierowana na Safari na iPada. Wspomnieli o podobnym problemie po uaktualnieniu testowego iPada do iOS6. Jeśli uda mi się znaleźć odpowiedź, dodam ją tutaj. Powodzenia. –

+1

@Eric Udało mi się "rozwiązać" problem, usuwając wszystkie wystąpienia notacji obiektu JavaScript; Object.create, .defineProperty i .seal. Wciąż nie mam pojęcia co do głównej przyczyny i jest to szczególnie trudne do wyśledzenia, ponieważ mogę odtworzyć błąd w mojej aplikacji w 100% przypadków, a kiedy podłączę się do MacBooka w celu użycia nowego Web Inspector, problem przestaje się dziać. Nie mogłem też odtworzyć niczego w izolacji (np. JsFiddle), co dodatkowo pogłębia frustrację. –

Odpowiedz

0

Zgodnie z Kangax's ES5 table, "W niektórych wersjach WebKit Object.defineProperty nie działa z obiektami DOM." Zakładam, że właśnie o to ci chodzi. To uwaga nr 2 na dole strony. Mam nadzieję że to pomoże!

0

W przypadku, gdy nie zostały już rozwiązane to, upewnij się, że obiekt jest przeliczalny (i jeśli to konieczne konfigurowalna) ...

Object.defineProperty(obj, "key", { 
    enumerable: true, 
    configurable: true 
}); 
Powiązane problemy