(CEP/ExtendScript) Можно ли включить файл JSX с сервера?

Я разрабатываю расширение для InDesign и хотел бы сохранить файл jsx на сервере. Это позволит мне обновить плагин, если я что-то изменю в jsx, и пользователю не придется повторно загружать расширение. Я попытался напрямую включить в jsx, который упоминается в манифесте, чтобы попытаться указать на настоящий jsx следующим образом:

локальный-index.jsx:

      //@include "https://server-name/adobe/addins/extendscript/server-index.jsx"
  • (local-index будет служить только мостом между JavaScript и ExtendScript)
  • (server-index будет содержать все методы, которые я использую на стороне JavaScript с помощью CSInterface.evalScript();)

Это не работает, и я не мог найти никакой информации в Интернете. Возможно ли это, или файл jsx должен быть локальным?

Заранее спасибо !

1 ответ

Вы можете сделать запрос AJAX в локальном JS для получения строки JSX с сервера
. См. пример ниже.

PHP-код на стороне сервера будет выглядеть так:

      <?php
    //JSX Code
    echo 
    "
    alert ('Hello From Server');
    file = new File('~/Desktop/fromServer.txt');
    file.open('w');
    file.write('Hi');
    file.close();
    ";
    
    //OR JSXBIN Code
    //Use eval and remove line breaks from JSXBIN String
    echo "eval('@JSXBIN@ES@2.0@MyBbyBn0AFJAnA.....')"; 
?>

Клиентская сторона кода JS:

      $.ajax({
        type: "GET",
        cache:false,
        url: URL,
        complete: function (Res) {
          scr = Res.responseText;
          csInterface.evalScript(scr);
        },
        async: false //For Synchronous Excecution 
      });
Другие вопросы по тегам