1

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/>

私が間違っていることは何か分かりますか?

4

2 に答える 2

1
killall DashboardClient

私のために助けた

于 2012-06-03T09:53:36.100 に答える
0

ダッシュボードにバグがあるようです。名前を変更することで、ウィジェットを機能させることができました。ウィジェットは、名前を変更する前に Dashcode で問題なく動作し (Till Theis に感謝)、そこから別の名前でインストールすると動作しました。それは私に名前を変更しようとするように促し、それもうまくいきました.

于 2010-10-24T11:58:08.777 に答える