操作系统: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函数的页面,但无需从电子表格中获取数据,而且工作正常。虽然,这不是通过应用程序脚本小工具。
答案 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,因为它更容易查明(并解决)有缺陷的方法。