我不知道问题出在我身上还是OS X
。
我有这个AppleScript:
tell application "Caffeine"
if active then
turn off
else
turn on
end if
end tell
我将此翻译为此JavaScript
caffeine = Application("Caffeine");
if (caffeine.active)
{
caffeine.turnOff();
}
else
{
caffeine.turnOn();
}
然而caffeine.turnOn();
永远不会执行,无论我多久运行一次。如果咖啡因处于活动状态,则会关闭,否则无效。 AppleScript等效运行。 caffeine.turnOn();
和caffeine.turnOff();
本身也运行良好。我无法想象,OSA的JavaScript真的被打破了,即使这样也行不通。
答案 0 :(得分:1)
caffeine.active
可能是一个函数,当不调用时,它将永远是真的:
var my_fn = function() {};
if (my_fn) console.log('my_fn is truly');
调用该函数:
var caffeine = Application("Caffeine");
if (caffeine.active()) {
caffeine.turnOff();
}
else {
caffeine.turnOn();
}
检查它的方法是简单地记录值:
console.log(caffeine.active); // function() { .... }
// or using typeof
console.log(typeof caffeine.active); // "function"