使用Apps脚本操作HtmlOutput中的html内容

时间:2016-08-15 16:55:14

标签: javascript html google-apps-script

我正在使用Apps Script并尝试在Sidebar内创建Google Sheet,其中显示将内容转换为JSON的结果。

这是页面Sidebar的html:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
    <!-- The CSS package above applies Google styling to buttons and other elements. -->
    <style>
      .width-100 {
        width: 100%;
        height: 100%
      }
    </style>
  </head>
  <body>
    <div class="sidebar branding-below">
      <form>
        <div class="block form-group">
          <label for="json"><b>JSON</b></label>
          <textarea class="width-100" id="json" name="json" rows="10"></textarea>
        </div>
      </form>
    </div>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
    </script>
  </body>
</html>

我之前已创建了所需的JSON,现在正尝试使用此方法设置textarea与创建的JSON的内容:

function displayText_(text) {
  var html = HtmlService.createHtmlOutputFromFile('Sidebar')
  .setTitle('JSON Results');
  var contents = html.getContent();
  contents.getElementById('json').setText(text);
  html.setContent(contents);
  SpreadsheetApp.getUi().showSidebar(html);
}

以下是一个示例JSON字符串,用于答案:

var jsonString = {"someKey":"someValue","anotherKey":"anotherValue"}

我尝试使用getElementById连接到htmlcontents(我当前的方法)。什么都没有产生预期的结果。我猜这很简单,但不知道如何操纵Apps Script的html。

我很确定我可以在Apps Script中创建整个html内容并替换内容,但这是一个黑客并且不容易维护。

有更简单的方法吗?

0 个答案:

没有答案