0

JavaScript で KDE4 プラズモイドを書こうとしていますが、うまくいきません。そのため、HTTP 経由でデータを取得し、Label に表示する必要があります。それはうまく機能していますが、定期的な更新 (10 秒に 1 回) が必要ですが、機能していません。

私のコード:

inLabel = new Label();
var timer= new QTimer();
var job=0;
var fileContent="";

function onData(job, data){
   if(data.length > 0){
      var content = new String(data.valueOf());
      fileContent += content;
   }
}

function onFinished(job) {
  inLabel.text=fileContent;
}

plasmoid.sizeChanged=function()
{
    plasmoid.update();
}

timer.timeout.connect(getData);
timer.singleShot=false;
getData();
timer.start(10000);

function getData()
{
    fileContent="";
    job = plasmoid.getUrl("http://192.168.0.10/script.cgi");
    job.data.connect(onData);
    job.finished.connect(onFinished);
    plasmoid.update();
}

スクリプトを 1 回取得し、10 秒後に更新しません。私の間違いはどこですか?

4

1 に答える 1

1

少なくともここでは(git masterから最近のビルドを実行して)問題なく動作しており、getData()が期待どおりに呼び出されています。コンソールにエラーが表示されますか?

編集:問題は、getUrl()がKIO :: get()のNoReloadを明示的に設定し、サーバーからのリロードを強制するのではなく、キャッシュからデータをロードすることでした。解決策は、URLにクエリパラメータを追加して、URLを強制的にリロードすることでした。

于 2012-05-30T11:51:31.373 に答える