用于自动显示对话框的Mac OS X Javascript
我试图为我正在处理的工作流显示一个简单的对话框,但是使用JXA我不断得到错误:应该是对象说明符,参数没有对象说明符。我不知道为对象说明符传递什么。下面是我的代码,它在我调用对话框的第11行出现问题用于自动显示对话框的Mac OS X Javascript,javascript,macos,automation,javascript-automation,Javascript,Macos,Automation,Javascript Automation,我试图为我正在处理的工作流显示一个简单的对话框,但是使用JXA我不断得到错误:应该是对象说明符,参数没有对象说明符。我不知道为对象说明符传递什么。下面是我的代码,它在我调用对话框的第11行出现问题 function run() { app = Application.currentApplication(); app.includeStandardAdditions = true; //Error Here var who = app.displayDialog
function run() {
app = Application.currentApplication();
app.includeStandardAdditions = true;
//Error Here
var who = app.displayDialog('Whose server is this?', {
withTitle: 'Whose Server...'
})
return who
}
阅读这篇非官方的文章,它可以帮助我了解这些警觉的事情
详情如下:
function prompt(text, defaultAnswer) {
var options = { defaultAnswer: defaultAnswer || '' }
try {
return app.displayDialog(text, options).textReturned
} catch (e) {
return null
}
}
来自Gary@macmost.com@8:47
我将您的代码1:1复制到脚本编辑器并切换到JavaScript。在10.10.3,一切正常!就我的2分你点击取消按钮了吗?这可能会产生一个错误,正如@ShooTerKo所说:这段代码看起来非常好。您的问题是因为使用了预发布版本吗?你知道问题出在哪里了吗?没有。我切换到传统的apple script++来获取链接和方便的函数,但是你的答案并不能解释OP的问题(这很神秘,因为他的代码看起来非常好)。
app = Application.currentApplication();
app.includeStandardAdditions = true;
color = app.displayDialog("What is your favorite color?", { defaultAnswer: "" }).textReturned;
if (color == "red") {
app.displayDialog("I like red too!");
} else {
app.displayDialog("Interesting, I like red myself.");
}