我正在为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
});