(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
});