JavaScript Achtung!

Blind

typeof null gibt object

Um zu prüfen, ob ein Objekt überhaupt existiert, kann der folgende Code nicht verwendet werden, da typeof null seltsamerweise ein object zurückgibt.

In dem folgenden Beispiel prüfst Du, ob unter dem Root Xml-Element der InDesign Xml-Struktur ein Xml-Element "Titel" existiert.

Oops, an error occurred! Code: 2024032903380570263af5

Stattdessen prüfst Du einfach den Wert der Variablen:

Oops, an error occurred! Code: 202403290338058dceb1f1

Versuche die gleiche Prüfung mit

  • characterStyles
  • paragraphStyles
  • objectStyles
  • xmlTags
  • xmlAttributes

 

Zuweisung mit = statt Vergleich mit ==

Du kannst in InDesign einen einen Breakpoint mit Bedingung wie folgt setzen:

Oops, an error occurred! Code: 202403290338058c0f0813

Jetzt wird die Skriptausführung unterbrochen, wenn das Objekt myStory den Inhalt "Mein Text" besitzt.

Wenn Du hier ein Gleichheitszeichen vergisst und stattdessen:

Oops, an error occurred! Code: 2024032903380502f59cf9

eingibst, dann hast Du aus dem Gleichheitsoperator einen Zuweisungsoperator gemacht, und damit auch den Inhalt Deiner Story verändert!

Diese Fehler sind sehr schwer zu finden und passieren auch immer noch den erfahrenen Programmierern.

 

with-Anweisung

In vielen Beispielskripten von Adobe wird die with-Anweisung verwendet, um Objektwiederholungen zu vermeiden und den Code so übersichtlicher zu gestalten. Hier ein Beispiel:

Oops, an error occurred! Code: 202403290338052f93ddcb

Blind

 

 

everyItem()

Blind

Oops, an error occurred! Code: 20240329033805ca91a4df

 

 

 

 

 

 

 

 

 

 

ZurückWeiter