点击即可刷新HTML服务网页

时间:2013-08-30 08:37:32

标签: html google-apps-script google-docs google-docs-api google-caja

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 

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

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

提前致谢....

1 个答案:

答案 0 :(得分:0)

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

即使你可以,这与“刷新”式网站类似(尽管速度极慢),你必须不断地将数据从客户端来回传递到服务器,然后再回到客户端。呈现形式非常缓慢且效率低下。

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

我的建议(因为我正在研究需要一些模板化的产品)是简单地使用客户端javascript来渲染和重新渲染你的UI。

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

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