我正在开发一个广播电子邮件模板,该模板会从RSS源中提取我们博客上的最新三篇文章,并将相关部分插入到文档中。
我查看了documentation,并根据File
对象的一些内容,我自己的一些调试,以及InDesign forum post我了解到无法使用用于获取在线XML文件的File
对象。
替代方案(不使用外部脚本,其中一个对我来说无效)似乎是使用Socket
对象。所以我回到文档并从那里逐字复制/粘贴了这段代码:
reply = "";
conn = new Socket;
// access Adobe’s home page
if (conn.open ("www.adobe.com:80")) {
// send a HTTP GET request
conn.write ("GET /index.html HTTP/1.0\n\n");
// and read the server’s reply
reply = conn.read(999999);
conn.close();
}
当我运行它时,我收到了这条描述性错误消息:
搜索“89858 javascript error”没有任何用处。
所以我被困住了。 Adobe的代码示例都有错误,或者更可能是我的错误。如果我不得不猜测,我猜它是某种代理问题,但我不确定,也不知道如何找出答案。
有人可以帮忙吗? Socket
对象的原则对我来说很有意义,但是如果我不能让样本工作,那么我真的无处可去。
答案 0 :(得分:2)
当您从函数调用返回某些对象(XML,Socket)时会发生上述错误,但返回值不会在任何地方分配。
function test() {
var xml = new XML('<test />');
return xml;
}
test();
以上将导致错误。要解决它,你必须在某处分配返回值。
var result = test();
尝试将所有收集所有函数调用结果。我不确定哪一个导致错误。
var reply = "";
var conn = new Socket;
// access Adobe’s home page
if (conn.open ("www.adobe.com:80")) {
// send a HTTP GET request
var result = conn.write ("GET /index.html HTTP/1.0\n\n");
// and read the server’s reply
reply = conn.read(999999);
var close = conn.close();
}