Почему мой скрипт не работает html Apps Script - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь включить скриптлет в свой проект скриптов приложений, чтобы разделить html и css. Когда я делаю это, скриптлет печатается в виде обычного текста, и css не меняет мой html. Я включил свой код ниже!

Изображение вывода

HTML

<!DOCTYPE html>
<html>
  <head>
    <base target="_top"> 
    <?!= include('css') ?>
  </head>
  <body>

code.gs

var ui = SpreadsheetApp.getUi();

/**
 * Creates menu add on for Google sheets.
 * Runs the function sendEmails
 */
function onOpen () {

  ui.createMenu('Mail Merge')
    .addItem('Start mail merge utility', 'sendEmails')
    .addItem('Show prompt', 'myMenuPrompt')
    .addToUi();

}

function onInstall(e) {
  onOpen(e);
}

function myMenuPrompt(){

  var html = HtmlService
    .createHtmlOutputFromFile('index')
    .setWidth(500)
    .setHeight(370);
  ui.showModalDialog(html, 'my app');

}

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

Ответы [ 2 ]

1 голос
/ 17 января 2020
function myMenuPrompt(){
  var html = HtmlService.createTemplateFromFile('index').evaluate().setWidth(500).setHeight(370);
  ui.showModalDialog(html, 'my app');
}
0 голосов
/ 20 января 2020

Ответ Купера правильный, и он отлично решает вашу проблему, просто добавив объяснение и почему это заставит ваш код работать.

Что вам не хватает в вашем коде, так это добавление метода evaluate, который будет фактически выполнять сценарий

Из официальной документации страница вы можете прочитать, что на самом деле происходит:

function doGet() {   return HtmlService
      .createTemplateFromFile('Index')
      .evaluate(); } 

Показанная здесь функция генерирует объект HtmlTemplate из файла HTML, затем вызывает его метод valu () для выполнения скриптлетов и преобразования шаблона. в объект HtmlOutput, который скрипт может предоставить пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...