(CEP/ExtendScript)是否可以包含来自服务器的JSX文件



我正在为InDesign开发一个扩展,我想将jsx文件存储在服务器上。如果我在jsx中更改了一些内容,这将允许我更新插件,而无需用户重新下载扩展。我试图直接在清单中提到的jsx中进行include,试图指向真正的jsx,如下所示:

local-index.jsx:

//@include "https://server-name/adobe/addins/extendscript/server-index.jsx"
  • (本地索引只能作为JavaScript和ExtendScript(
  • (服务器索引将包含我在上使用的所有方法带有CSInterface.evalScript((的JavaScript端(

它不起作用,我在网上找不到任何信息。这可能吗?或者jsx文件必须是本地的吗?

提前感谢!

您可以在本地JS中发出AJAX请求,以从服务器检索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 
});

最新更新