【发布时间】:2015-01-05 23:40:59
【问题描述】:
我最近才开始使用 Google-Apps-Scripts。我想看看是否可以使用 3rd 方 JS 库将时间线添加到我的 Google-Sheet 仪表板的顶部。
我的目标是在对话框中添加时间线小部件。我设法让我的对话框显示但没有内容。我希望我正在尝试做的事情是可能的。我知道我可以创建一个网站并将 Google Doc 嵌入其中,但我想尝试一下,只是为了好玩。
1) 在工作表打开时创建对话框:
function onOpen() {
var htmlOutput =
HtmlService.createHtmlOutputFromFile('cabbages')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setWidth(1500)
.setHeight(600);
SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'bla');
}
2) cabbages 文件显示基于库的时间线:
<div>
<script>
function getContent(css, js) {
return HtmlService.createHtmlOutputFromFile(css).getRawContent();
return HtmlService.createHtmlOutputFromFile(js).getRawContent();
}
getContent(timeLineCSS,timeLineJS);
</script>
<div id="mytimeline"></div>
<script type="text/javascript">
// DOM element where the Timeline will be attached
var container = document.getElementById('mytimeline');
// Create a DataSet with data (enables two way data binding)
var data = new vis.DataSet([
{id: 1, content: 'item 1', start: '2013-04-20'},
{id: 2, content: 'item 2', start: '2013-04-14'},
{id: 3, content: 'item 3', start: '2013-04-18'},
{id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19'},
{id: 5, content: 'item 5', start: '2013-04-25'},
{id: 6, content: 'item 6', start: '2013-04-27'}
]);
// Configuration for the Timeline
var options = {};
// Create a Timeline
var timeline = new vis.Timeline(container, data, options);
</script>
</div>
要链接到时间轴库 JS 和 CSS 文件,我在此发帖:Use project Javascript and CSS files in a Google Apps Script web app?
我选择了票数最高的答案,而不是选择的答案。
所以我的应用脚本库中还有另外 2 个“html”文件:
timeLineJS:
<script>
// lots and lots of JS here
</script>
时间线CSS
<style>
// lots of CSS here.
</style>
我现在刷新工作表并出现对话框但没有内容。这是我右键单击对话框时控制台的屏幕截图:
您可以看到“mytimeline” div 和“cabbages”文件的内容。但是对话框是空的。
我能想到的只是 JS 和 CSS 没有通过链接加载。 Google-Apps-Script 在加载外部文件时是否存在问题?
【问题讨论】:
标签: google-apps-script google-sheets