0

我在我的 Google Scripts Adds-On 中使用 CardService。我正在尝试将其setContent作为 HTML,因为我正在从Index.html中读取它。但是在渲染时,它会将CSSJavascript打印为文本,而不是在 Html 内容中使用它。

function buildPage() {
  var html = HtmlService.createHtmlOutputFromFile('Index').getContent();
  var card = CardService.newCardBuilder();
  card.setHeader(CardService.newCardHeader().setTitle('How do you feel ...'));
  var section = CardService.newCardSection()
    .setHeader("<h4>What do you want? </h4>");

  section.addWidget(CardService.newKeyValue()
    .setTopLabel('choose one')
    .setContent(html)
);

这是我的Index.html

    <!DOCTYPE html>
    <html>
     <head>
      <base target="_top">
       <style>
           #things {
             position: absolute;
             top: 50%;
             left: 50%;
             color: green;
             margin-right: -50%;
             text-align: center;
          }
       </style>
     </head>
     <body>
       <p>List of things:</p>
       <ul id="things">
         <li>Loading...</li>
       </ul>

       <script
         src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
       </script>
       <script>
       // The code in this function runs when the page is loaded.
       $(function() {
        google.script.run.withSuccessHandler(showThings)
        .getLotsOfThings();
       });

       function showThings(things) {
         var list = $('#things');
         list.empty();
         for (var i = 0; i < things.length; i++) {
           list.append('<li>' + things[i] + '</li>');
         }
      }
      </script>
     </body>
   </html>
4

2 回答 2

5

GMail Add-Ons 仅支持非常基本的 html 样式。

请参阅https://developers.google.com/gmail/add-ons/concepts/widgets#text_formatting

于 2018-04-11T20:52:41.927 回答
3

setContent()接受文本并支持基本的 html 格式。我认为它不支持完整的 html 标签,如样式、脚本等

参考 https://developers.google.com/apps-script/reference/card-service/key-value#setcontenttext

于 2018-04-05T08:43:22.607 回答