0

我使用 Google Apps Scripts 创建了一个简单的 webapp。UI 仅显示几个在 FusionTable 中持续更新的数字。一个定制的数据采集系统在我家本地运行,每分钟向 FusionTable 发送新的结果。我希望每隔一分钟更新我的 GAS webapp 上的 UI,以便显示新数字。

通过运行时间驱动程序触发器定期从 FusionTable 中获取数据并将数字存储在我的脚本自己的 ScriptDb 中,我解决了一半的问题。因此,这可以很好地将我的数据放在正确的附近。但我仍然看不到如何使用新数据定期更新我的 UI 中的文本框。

到目前为止,我已经在 UI 上手动配置了一个刷新按钮,用户可以单击该按钮以使用 ScriptDb 中存储的最新数字更新显示。我是如此接近,我可以品尝它!

有人有想法吗?

4

3 回答 3

5

您可以使用该UiInstance.addTimer方法进行自动刷新,但它没有记录在案并且可能不受支持。

它的语法是UiInstance.addTimer( ServerHandler , interval);

请参阅下面的示例代码。

function doGet(e) {

  var app = UiApp.createApplication();

  

  app.add(app.createLabel(new Date()).setId("label"));

  

  app.addTimer(app.createServerHandler("update") , 1000);

  

  return app;

}



function update(e){

  var app = UiApp.getActiveApplication();

  app.getElementById("label").setText(new Date());

  app.addTimer(app.createServerHandler("update") , 1000);


  return app;

}

可以在此处找到示例应用程序。

于 2012-11-30T07:54:30.033 回答
2

使用电子表格进行显示。他们自动更新。

Stackoverflow,这不是感谢,而是解决方案,而是为您:

  1. 制作电子表格
  2. 添加发布服务
  3. 有服务更新电子表格
  4. 观看电子表格
于 2012-12-05T14:12:39.507 回答
1

不幸的是,Google Apps 脚本还没有一个计时器工具来频繁更新 UI。但是,我不久前写了一个 hack,可以在旧的 Apps 脚本论坛中找到 http://productforums.google.com/forum/#!topic/apps-script/2pqhh_eTIvQ

您可以在 stackoverflow 中进行搜索,但基本前提保持不变,即您可以利用这样一个事实,即您可以以编程方式更改复选框的值并触发其更改处理程序。

于 2012-11-30T06:24:11.413 回答