站点上的Apps脚本停止工作

时间:2012-11-01 15:14:55

标签: html google-apps-script google-sites

操作系统:Windows 7

浏览器:Firefox和Chrome

我的google网站上有几页使用谷歌应用脚​​本从电子表格中收集数据并将其作为Google Apps脚本小工具的一部分显示在页面上。最近,(在最近几天内),它应该从电子表格中显示的信息没有显示。它只是空白。脚本的其余部分似乎运行良好,但很难说。

自从上一个工作版本以来,我没有更改任何代码(我已经使用了这个设置和代码大约2个月,之前它的工作几乎完美)。我调试了获取数据的函数,它们仍然正常工作,数据格式与以前相同。

这是我一直在使用的代码,如果有帮助的话。如果重要的话,网站流量每月约为200次访问。

  function doGet() {
    var t=HtmlService.createTemplateFromFile('Practices');
    return t.evaluate();
  }


  function getData() {
    var sheet=SpreadsheetApp.openById('CORRECT SPREADSHEET KEY').getSheetByName('Practices');
    return sheet.getDataRange().getValues(); 
}

这是Practices.html文件中的代码块,我认为它不起作用。 (这些数据都没有出现,但剩下的就是这样)

<div class="carousel" style="display:none;">
  <div class="items">
    <? var date= new Date(); ?>
    <? var data = getData();
     for (var i = 1; i < data.length; ++i) { ?>


      <div>
        <h3><?= data[i][0] ?></h3>
        <p>Date: <?=data[i][1].getMonth()+1 ?>/<?=data[i][1].getDate()?>/<?=data[i][1].getFullYear() ?></p>
        <p><?= data[i][2] ?> </p>
      </div>
    <? } ?>


  </div>
  </div>

我知道有一个显示:无;在这段代码中。它会切换到稍后显示。出于某种原因,如果显示:无;不存在它只显示第一张幻灯片,但没有显示它之后的幻灯片。

更新:检查页面的html,所有数据都在那里,并带有正确的标签和结构。这让我认为这是我用来动画和更改显示设置的jquery脚本。我创建了另一个具有相同jquery函数的页面,但无需从电子表格中获取数据,而且工作正常。虽然,这不是通过应用程序脚本小工具。

1 个答案:

答案 0 :(得分:0)

我创建了一个示例电子表格和一个包含您确切代码的脚本,减去显示:您提到的无风格不是您的问题。它确实完美无缺。这表明您的问题出在其他地方。

这是电子表格: https://docs.google.com/spreadsheet/ccc?key=0AhfBwM8xuKeSdElFSXpIWllKekRyc0EwdF9uZ0VLanc

这是脚本: https://script.google.com/macros/s/AKfycbwH9zKHFLQ2u_I21xLkG8xgrr_F_Ir_oioE8mOuW4H7kc8WEnVs/exec

您是否尝试使用Chrome开发者工具或Firefox等检查您的网页,看看结构是否存在? 您可能还希望在评估之前查看您网页的代码,方法是按照here所述调用t.getCode()

修改

如果您在HtmlService中使用jQuery,则可能是问题所在。最近发布的Apps Script(没有发行说明)打破了很多jQuery的功能(以及其他东西),但是没有错误消息,它只是默默无效。现在我已经放弃了使用带有Apps脚本的jQuery。我构建的所有新应用程序现在使用普通的javascript,因为它更容易查明(并解决)有缺陷的方法。