【发布时间】:2015-07-28 03:54:38
【问题描述】:
在我工作的公司中,我们开发了很多 GAS 工具,每天用于捕获信息,以便在 QlikView 或 Google 电子表格、站点等中进行画像。但是,从上周开始,这些工具没有加载正确地,这似乎与 Google Chrome 44 版有关,因为在 43 版上运行正常。
您可以在下面找到我尝试过但仍然无法正常工作的非常简单的代码:
code.gs 文件:
function doGet(){
var template= HtmlService.createTemplateFromFile('transactions.html');
var dateNew = new Date()
var date = new Date(dateNew.getFullYear(),dateNew.getMonth(),dateNew.getDate()-1)
template.action = ScriptApp.getService().getUrl();
template.msg = ""
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function doPost(e){
Logger.log(new Date())
var template = HtmlService.createTemplateFromFile('transactions.html');
template.msg = e.parameter.kpiinfo
template.action = ScriptApp.getService().getUrl();
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
transactions.html
<?= msg ?>
<form action="<?= action ?>" method="post">
<td><input type="text" name="kpiinfo"></td>
<input type="submit" value="Submit" />
</form>
当前行为:
当我加载工具时,我可以看到表单(文本框和提交按钮),然后我输入任何内容并单击提交按钮。提交的文本与文本框和提交按钮一起显示为 long(到目前为止一切都很好),但是当我单击提交时,重新加载的表单为空(既不是消息,也不是文本框,也不是提交按钮)
我尝试了不同的沙盒模式:
a) 如果我使用 Native,表单会显示,但提交按钮根本不起作用。
b) 如果我使用 Emulated 则不显示任何表单
预期行为
申请者可以连续多次提交数据。
请注意,我们有几个类似的工具,并且正在经历相同的行为。 (这些工具被大约 60 到 100 名用户使用,因此它对业务至关重要)。
如果您知道有关此问题的解决方案,我将不胜感激。提前感谢您的帮助。
【问题讨论】:
标签: javascript html google-chrome google-apps-script