我正在尝试用JavaScript编写KDE4等离子,但是没有成功。因此,我需要通过HTTP获取一些数据并将其显示在Label中。这工作得很好,但我需要定期刷新( 10秒一次),它不起作用。
我的代码:
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秒后不会刷新它。我的错误在哪里?
发布于 2012-05-30 19:51:31
它至少在这里工作得很好(从git master运行最近的构建),getData()被调用了,正如预期的那样。您是否在控制台中看到任何错误?
编辑:问题是getUrl()显式地为KIO::get()设置了NoReload,这会导致它从缓存加载数据,而不是强制从服务器重新加载。解决方案是向URL添加一个查询参数,以使其强制重新加载。
https://stackoverflow.com/questions/10814589
复制相似问题