Snow Leopard の単純なダッシュボード ウィジェットからコマンド ラインにアクセスしようとしています。私の意図は、呼び出したコマンドライン スクリプトからウィジェットのコンテンツを埋めることです。これは可能なはずです。
onshow コールバックを使用して、ウィジェットが表示されるたびにスクリプトを呼び出しています。
if (window.widget) {
widget.onshow = onshow;
}
function onshow() {
document.getElementById("mydynamicarea").innerHTML = widget.system("/usr/bin/id -un", null).outputString;
}
上記では、ユーザー名を表示する単純なコマンドを使用して、コマンドライン アクセスをテストしようとしています。これは機能しません。ウィジェットには、HTML にある静的テキストのみが表示されます。
<div id="mydynamicarea">No data available</div>
widget.system 呼び出しの代わりに静的文字列を使用すると、同じ Javascript が機能します。
if (window.widget) {
widget.onshow = onshow;
}
function onshow() {
document.getElementById("mydynamicarea").innerHTML = "This text is actually shown on widget";
}
コンソールを見ると、次のエラー メッセージが表示されます。
TypeError: Result of expression 'widget.system' [undefined] is not a function.
info.plist でコマンドライン アクセスを構成しました。
<key>AllowSystem</key>
<true/>
私が間違っていることは何か分かりますか?