【发布时间】:2016-07-25 12:13:06
【问题描述】:
我正在尝试在 Google Sheet 侧边栏中的 HTML iframe 中列出 Google 电子表格的所有编辑器。正如您在下面的代码中看到的,我在 Logger 中显示了结果;它在那里工作,向我显示编辑列表。但是当我使用google.script.run 将结果传递给 HTML 文件时,它似乎在途中“迷路”了。我没有收到任何错误,只有侧边栏中的“空”列表。
我在 .gs 中有以下代码:
function myFunction() {
var html = HtmlService.createHtmlOutputFromFile('form1');
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showSidebar(html);
}
function editores() {
var editors = SpreadsheetApp.getActiveSpreadsheet().getEditors();
for (var i = 0; i < editors.length; i++) {
var editor = editors[i];
Logger.log(editor)
}
return editors;
}
HTML 中的这段代码:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function listEditors(editors) {
for (var i = 0; i < editors.length; i++) {
var eltag = document.getElementById('edit').innerHTML;
var edit = editors[i];
document.getElementById('edit').innerHTML = eltag+'<br/>'+edit;
}
}
google.script.run.withSuccessHandler(listEditors).editores();
</script>
</head>
<body>
<p id='edit'></p>
</body>
</html>
当我执行myFunction() 时,它会打开显示“null”列表的侧边栏。但是当我在脚本控制台中打开 Logger 时,它会很好地显示编辑器列表......似乎数据在通过的过程中“丢失”了。
【问题讨论】:
-
由于某种原因 getEditors 现在对我不起作用,但除此之外您的代码运行良好,您在 javascript 控制台中看到任何错误吗?
-
没有错误,只是侧边栏中的“空”列表
标签: javascript google-apps-script google-sheets google-docs