javascript - 在 html 文件中显示来自应用程序脚本文件的数组
问题描述
我有一系列在应用程序脚本中获得的电子邮件草稿。我想在一个选择元素的 html 文件中显示它们,但是当我运行它时它显示为空白。下面的代码
代码.gs
function doGet(e) {
return HtmlService.createHtmlOutput("index");
}
function doSomething() {
var drafts = GmailApp.getDrafts();
var drafty = [];
for(var i = 0; i < drafts.length; i++){
drafty.push(drafts[i].getMessage().getSubject());
}
Logger.log(drafty);
return drafty;
var select = document.getElementById("select"),
arr = drafty;
for(var i = 0; i < arr.length; i++)
{
var option = document.createElement("OPTION"),
txt = document.createTextNode(arr[i]);
option.setAttribute("value", arr[i]);
option.appendChild(txt);
document.getElementById("select").appendChild(option);
}
索引.html
<!DOCTYPE html>
<html>
<head>
<script>
google.script.run.doSomething();
</script>
</head>
<body>
<select id="select" class="addon-select addon-form-input"></select>
</body>
解决方案
像这样的东西:gs:
function doSomething() {
var drafts=GmailApp.getDrafts();
var drafty=[];
for(var i=0;i<drafts.length;i++){
drafty.push(drafts[i].getMessage().getSubject());
}
Logger.log(drafty);
return drafty;
}
html:
<!DOCTYPE html>
<html>
<head>
<script>
google.script.run
.withSuccessHandler(function(A){
var id='select';
var select = document.getElementById(id);
select.options.length = 0;
for(var i=0;i<A.length;i++) {
select.options[i] = new Option(A[i],A[i]);
}
})
.doSomething();
</script>
</head>
<body>
<select id="select"></select>
</body>
</html>
推荐阅读
- android - FirebaseAuth.getInstance().getCurrentUser() 返回已删除的用户
- laravel - 如何在 laravel 5 中使用 ckeditor
- sql - SQL RegEx:如何从此字符串中提取日期
- javascript - Vue.js JSON 分组数组多次
- javascript - 如何根据香草javascript中的属性对对象数组进行分组
- machine-learning - SageMaker Estimator.fit() 没有将“训练”输入传递给训练实例
- python - 想要反转我的字符串位置,特殊字符应该在那里
- jquery - jQuery悬停触发“鼠标离开”而不离开光标
- powerbi - 在 PowerBI 中将单列拆分为多行?
- regex - 正则表达式捕获组并使用 OR 语句