0
我想在JavaScript中編寫KDE4 plasmoid,但沒有成功。 所以,我需要通過HTTP獲取一些數據並將其顯示在Label中。這很好,但我需要定期刷新(在10秒內一次),它不起作用。KDE plasmoid ind autorefresh
我的代碼:
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();
}
它曾經獲得腳本,10秒後不刷新。我的錯誤在哪裏?
控制檯中沒有任何錯誤。我跑了嗅探器,看着交通,沒有看到定期的要求,只有一個在plasmoid開始。 – Shura
你正在運行哪個KDE版本?用plasmoidviewer啓動還是隻添加到Plasma?我剛剛在KDE 4.6.5上測試了腳本(使用plasmoidviewer),它似乎也在那裏工作。您還可以嘗試將print()或debug()調用添加到您的回調中,以查看它們是否被調用。 – teprrr
來自Kubuntu的KDE 4.8.3。我加入'打印( 「的getData」)'來的getData()函數,現在得到控制檯: $ plasmoidviewer plasma_test 的getData 的getData 的getData 的getData 的getData 的getData 的getData 但在嗅探我沒有看到要求。 – Shura