2013-06-20 27 views
7

Jestem programistą JavaScript, który właśnie zaczął nurkować w technologii Adobe's ExtendScript, dążąc do poprawy produktywności i przepływu pracy w wielu codziennych zadaniach mojego przedsiębiorstwa w generowaniu formularzy PDF w programie Illustrator.Które standardy ECMAScript są zgodne z implementacją ExtendScript firmy Adobe? (jeśli istnieje)

W pierwszej instancji pomyślałem, że jest to implementacja niektórych standardów ECMAScript z dodaniem własnościowej implementacji Modelu Obiektu Dokumentów, API do uzyskiwania dostępu do systemu plików i innych rzeczy. Miałem nadzieję, że ostatnia wersja Creative Suite (CS6) zaimplementowała ECMAScript 5.

Moja pierwsza niespodzianka nie znalazła żadnego odniesienia w Internecie na temat szczegółów implementacji silnika ExtendScript. Drugim zaskoczeniem było stwierdzenie, że podczas sprawdzania niektórych metod ECMAScript 5 jest to undefined, co powoduje, że mam wątpliwości co do zgodności standardów z implementacją.

Czy każdy może podać jakiekolwiek odniesienie do tych szczegółów implementacji, jeśli jest zgodny ze standardem ECMAScript i wersją?

Bardzo dziękuję z góry.

+1

Strona, którą połączyłeś, mówi, że to JavaScript. Oczywiście, może nie być w pełni zgodny ze standardami, ale mimo to ... Dlaczego nie zadasz im tego pytania bezpośrednio? Prawdopodobnie są oni ekspertami od własnej technologii. –

+1

@ Áxel Nie jestem pewien, ale domyślam się, że używa JavaScript 1.6. XML/E4X jest obsługiwany na przykład –

+0

Dziękuję wam. @RobertHarvey, czy wiesz, gdzie mogę ich o to zapytać? ;) –

Odpowiedz

6

Jeśli spojrzeć na After Effects CS6 Scripting Guide, to mówi:

After Effects Engine skryptowy obsługuje 3rd Edition Standard ECMA-262, łącznie z jego notacyjne i leksykalne konwencje, rodzaje obiektów, expres - sions i oświadczenia. ExtendScript implementuje także specyfikację E4X ECMA-357, która definiuje dostęp do danych w formacie XML.

Wyobrażam sobie, że reszta kolekcji Adobe jest taka sama.

+0

Cool @Matthew Chung! Nie można znaleźć tego w przewodnikach skryptów dla innych produktów. Znalazłem nawet niejasne odniesienia do częściowego wsparcia dla szczegółów implementacji EX4. Wygląda na to, że ES3 jest oficjalnie gwarantowane do działania - f *** to, ponieważ znalazłem już kilka błędów implementacji, które sprawiają, że jest on niezgodny z ES3, chociaż xD –

2

Można dodać metody tablic ECMAScript 5 do ExtendScript, dodając zmodyfikowaną wersję this polyfill. Jedną z modyfikacji, którą musisz wprowadzić, jest koniec kodu array.generics.js, usuń blok kodu z zakresu if (document). (około linii 583).

+1

@ j-peterson użyteczne wskazówka! Ale to nie jest odpowiedź na pytanie, więc powinieneś dodać to jako komentarz, a nie odpowiedź –