在设定的一段时间后自动刷新Google Apps脚本

时间:2015-04-15 11:33:26

标签: javascript google-apps-script meta page-refresh

我正在开发一个门户网站,其中包含一组可以从主屏幕访问的表单,然后是一个基于用户提交给所述表单的报告的页面。

表单会写入单独的Google电子表格,其中数据被操纵并且“状态”被抛弃。

我已将此状态以及其他数据添加到我的报告屏幕中,并且在用户实际刷新页面之前它是静态的。

我想要这样做,以便此报告每60秒自动刷新一次,因此任何更改都会反映给用户。

我花时间研究,并设法得到两个似乎处于工作开始阶段的选项,但我无法弄清楚如何解决我仍然存在的问题。

一种选择是进行元刷新。代码是:

 <meta http-equiv="refresh" content="60;url=HereIsTheURL"/>

此版本有效,但仅限于第一个实例。即页面第一次成功重新加载,但当第二个实例出现时,我得到的是一个空白的白色屏幕。

我一直在使用的第二个选择是JS。代码是:

<script type="text/javascript">
 setTimeout(function () { 
  location.reload();
 }, 60000);
</script>

但是,每次只会返回一个空白的白色屏幕。

更多信息:

我在Apps脚本中使用HTMLService 显示日志/报告的页面具有完整的脚本URL +“?page = pagename”

有没有人知道如何更改代码以便每次都能正常刷新页面?

下面更新了HTML内容:

 <div id="content" >
  <h1>Change Log:</h1>
  <br>
  <br>
  <div id="users-contain" class="ui-widget">
 <table id = "user" style="width:100%" class="ui-widget ui-widget-content">
  <thead>
               <tr class="ui-widget-header ">
                <th>Change Request Date</th>
                <th>Change Request</th>
                <th>Status</th>
                <th>Completed By</th>
                <th>Date Completed</th>
              </tr>

 </thead>
        <tbody>
        <tr> 

         </tr>
        </tbody>
        </table>
 </div> 

1 个答案:

答案 0 :(得分:0)

AFAIK,你不能使用location.reload因为重定向安全问题(疯狂猜测),但你可以使用Javascript HTML中的setTimeouts重置整个页面,并更新页面,如果你要共享HTML代码我们可以帮助您更新它们。