Wie benötige ich Skripte in indesign?

8

Wie lade ich eine andere Skriptdatei und starte eine Methode?

Ich benutze InDesign Javascript und ich weiß nicht, wie man mehrere Dateien in dasselbe Skript einfügt.

    
Totty.js 06.03.2013, 10:02
quelle

2 Antworten

10

Drei Optionen: import, app.doScript und $ .evalFile. Ich bevorzuge $ .evalFile. Siehe app.doScript vs $ .evalFile

Arbeitsbeispiel:

C: \ script1.jsx

%Vor%

C: \ script2.jsx

%Vor%

Wenn sich script2.jsx nicht im Stammverzeichnis des Laufwerks C befindet, ändern Sie Skript 1 mit seiner tatsächlichen Position.

Erklärung:

  1. Skript 1 erstellt und führt eine anonyme Funktion aus, um den globalen Namespace nicht zu belasten. Wenn dies nicht der Fall wäre, wäre sFullName global.
  2. Skript 1 führt Skript 2 aus.
  3. Skript 2 erstellt ein Objekt und speichert es in der globalen Variablen g_script2 .
  4. Skript 1 ruft die combineName -Methode von Skript 2 auf. Es ist wichtig zu beachten, dass alle Dateien Ihres Skripts den gleichen globalen Namespace haben. Auf diese Weise kann Skript 1 auf g_script2 zugreifen. Dies bedeutet jedoch auch, dass zwei Dateien niemals den gleichen Namen für eine Funktion oder Variable haben sollten, es sei denn, sie befinden sich in einem globalen Objekt wie in diesem Beispiel.
  5. Die Funktion combineName wird ausgeführt und gibt eine Zeichenfolge zurück.
  6. Skript 1 gibt den Namen aus und gibt dann "Erfolg" zurück. Da dies das letzte Objekt auf dem Stapel ist, wird es als Skriptergebnis zurückgegeben.
dln385 06.03.2013, 21:26
quelle
3

ExtendScript bietet Präprozessordirektiven zum Einbinden externer Skripte. Diese Anweisung fügt den Inhalt der Zieldatei am Speicherort der Anweisung in die aktuelle Skriptdatei ein. Nach der Anweisung können Sie also jede Methode wie eine Methode des aktuellen Skripts aufrufen:

%Vor%     
Bruno 09.09.2015 07:28
quelle