1
Mypage.html
<div class="seven"><button onClick="Submit()">submit</button> </div>

<script type="text/javascript">
        function submit() {
            google.script.run.scores(document.forms[0]);
        }
</script>

……

Javascript.gs
function scores(form){
Logger.log("I am called")
}

上面的代码完美运行,但是每次我单击按钮时,我都希望 HTML 模板化/部署的网页也能够加载/重新加载/刷新......

我尝试添加

google.script.run.scores(document.forms[0]); (continued from above code, hence line repeated))
google.script.host.refresh (basically got the idea from host.close)
google.script.host.reload
google.script.host.load 

请有人可以帮助我获取正确的代码,通过该代码的 onClick 按钮调用分数函数(目前正在工作)以及刷新页面。

注意:我希望它刷新,原因是 - 在提交时,数据被推送到 GSheet,它在刷新时再次在下拉列表中调用......

提前致谢....

4

1 回答 1

0

据我所知,没有办法在 GAS 中刷新模板化的 HTML。

即使可以,这也将类似于“刷新”风格的网站(尽管版本非常慢),您必须不断地将数据从客户端来回传递到服务器,然后以呈现的形式返回客户端非常缓慢且效率低下。

每次您执行服务器端操作 (google.script.run...) 时,谷歌的云服务器都必须加载应用程序状态、执行功能然后终止。

我的建议(因为我正在开发一个需要一些模板的产品)是简单地使用客户端 javascript 来呈现和重新呈现您的 UI。

我主要使用 jQuery,但与出色的 javascript 模板引擎(如 KnockoutJS)相比,它非常冗长且耗时。

如果任何 SO 用户找到了在 GAS 中制作响应式和交互式 UI 的更好方法,请告诉我们!

于 2013-12-05T12:54:33.617 回答