早上好,并提前感谢您的帮助。我是java / gas脚本的noobi,所以感谢任何帮助。
在谷歌电子表格中,我有一个自定义菜单,启动一个小的html菜单,我希望能够从中启动各种网页。实际地址是可变的。我在页面启动时将这些设置为带有属性服务的键。
这是html代码(取自另一个例子并尝试改编)"
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script type="text/javascript">
var myArr = ["Peter", "Paul", "Tony", "Adam"];
function display(name) {
var accScriptPageLinkID= PropertiesService.getScriptProperties().getProperty('scriptPageLinkAdd');
Logger.log(accScriptPageLinkID)
alert(name);
}
for(var i = 0; i < 4; i ++) {
document.write('<input type="button" onclick="display(this)" name="'+ myArr[i] + '" value="'+ myArr[i] +'">'); // Will log Peter, Paul..
}
</script>
</body>
</html>
我需要修改上面的代码,这样当按下Peter按钮时,它会打开在Property Service Key&#39; scriptPageLinkAdd&#39;下链接的脚本页面。
或者,如果有更简单的方法为链接到Google电子表格中的单元格的菜单创建动态html页面,请提供建议。
迈克答案 0 :(得分:1)
PropertiesService(和Logger)也是服务器端的AppsScript类 - 它们不能直接从客户端(你的html页面)调用。
要从html页面在服务器端调用它们,必须使用google.script.run.withSuccessHandler(clientSideFunctionToProcessReturnedData).someServerSideFunction()
,它可以将一些数据返回到您的html页面。
Learn more about HtmlService and communicating with the server here