1

操作系统:Windows 7

浏览器:火狐和Chrome

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

自上一个工作版本以来,我没有更改任何代码(我已经使用此设置和代码大约 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 函数创建了另一个页面,但无需从电子表格中获取数据,它工作正常。虽然,这不是通过应用程序脚本小工具。

4

1 回答 1

0

我已经使用您的确切代码创建了一个示例电子表格和一个脚本,减去您提到的 display:none 样式不是您的问题。它确实工作得很好。这表明您的问题在其他地方。

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

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

您是否尝试过使用 Chrome 开发人员工具或 Firefox 等检查您的页面,以查看结构是否存在?您可能还想通过调用此处t.getCode()描述的 a 来评估之前查看您的页面代码。

编辑

如果您在 HtmlService 中使用 jQuery,则可能是问题所在。最近发布的 Apps Script(没有发行说明)破坏了 jQuery 的许多功能(以及其他功能),但没有错误消息,它只是默默地不起作用。现在我已经放弃了将 jQuery 与 Apps Script 一起使用,这太麻烦了。我构建的所有新应用程序现在都使用纯 JavaScript,因为它更容易查明(和解决方法)有问题的方法。

于 2012-11-02T02:07:17.360 回答