javascript - 将同一 GAS 元素中的 CSS 和 JS 导入电子表格 HtmlOutput

标签 javascript css google-apps-script include google-sheets

我正在关注 this教程,我正在尝试将 CSS 和 JS 文件导入到 GAS Html 文件中,这两个文件都在同一个元素中。本教程作为一个网络应用程序运行良好,我现在要做的是在关联的电子表格上显示一个具有相同内容的 HtmlOutput。

我尝试在电子表格上创建 HtmlOutput,如下所示:

function test(request){
    var html = HtmlService.createHtmlOutputFromFile('Page');
    ss.show(html);
}

我得到了这个结果(如您所见,getContentinclude 未按预期工作):

enter image description here

这些是 html、css 和 gs 文件:

代码.gs

//--- this function is called onclick on a Spreadsheet custom menu
function test(request){
    var html = HtmlService.createHtmlOutputFromFile('Page');
    ss.show(html);
}

function include(filename){
  return HtmlService.createHtmlOutputFromFile(filename).getContent();
}

Page.html

<?!= getContent("Stylesheet.html"); ?>

<div>
<h1>Welcome</h1>
<p> test </p>
</div>

<?! include('Javascript'); ?>

样式表.html

<style>
p{ 
    color: green;
} 
</style>
<div>

</div>

Javascript.html

<script>
window.addEventListener("load", function(){
    alert("loaded!");
});
</script>
<div>

</div>

我错过了什么吗?

提前致谢,致以最诚挚的问候

最佳答案

在您尝试使用的教程中

HtmlService.createTemplateFromFile('Page').evaluate();

您必须在电子表格用户界面的上下文中使用相同的方法。

所以,而不是

var html = HtmlService.createHtmlOutputFromFile('Page');
    ss.show(html);

使用

var html = HtmlService.createTemplateFromFile('Page').evaluate();
    ss.show(html);

如果您还像下面这样更改您的 html 文件(使用“include”来包含样式表),它会起作用:

<?!= include("Stylesheet.html"); ?>

<div>
<h1>Welcome</h1>
<p> test </p>
</div>

<?! include('Javascript'); ?>

关于javascript - 将同一 GAS 元素中的 CSS 和 JS 导入电子表格 HtmlOutput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26275033/

相关文章:

javascript - 表单提交按钮不起作用

google-apps-script - 使用 GAS 克服 Google Drive API Drive.Files.insert() 方法的最大文件大小限制

google-apps-script - 提交与商品标签Google表单(Google脚本)不同的值

javascript - 带有页眉页脚 Angular ionic 的列表卡

javascript - 我可以使用 node.js、angular 和 sequelize 构建移动应用程序吗?

javascript - 无法调用方法 tinymce

javascript - 仅生成一张电子表格的 PDF

javascript - 警告 : Encountered two children with the same key, `[object Object]`

css - 在 slickgrid 中设置全局字体大小的方法

html - 绝对div里面的内容不会显示?