Javascript Google应用程序脚本CardService.setContent为HTML

Javascript Google应用程序脚本CardService.setContent为HTML,javascript,html,css,google-apps-script,gmail-addons,Javascript,Html,Css,Google Apps Script,Gmail Addons,我正在谷歌脚本中使用CardService插件。我正试图将内容设置为HTML,因为我正在从Index.HTML读取它。但是在渲染时,它将CSS和Javascript打印为文本,而不是在Html内容中使用它 function buildPage() { var html = HtmlService.createHtmlOutputFromFile('Index').getContent(); var card = CardService.newCardBuilder(); card.s

我正在谷歌脚本中使用CardService插件。我正试图
将内容设置为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)
);
setContent()
接受文本并支持基本的html格式。我认为它不支持完整的html标记,比如样式、脚本等

参考

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

参考

GMail插件只支持非常基本的html样式


请参阅

GMail附加组件仅支持非常基本的html样式


请参见

是否还有其他支持脚本和样式的内容。我只想显示内容,不必通过KeyValue。我认为这应该是一个新问题:p@JaiPrak谷歌将Gmail附加组件的UI抽象出来的原因是为了使附加组件在所有平台(包括移动平台)上看起来都是一致的。更不用说将JavaScript注入Gmail会带来多个安全问题。还有其他支持这些脚本和样式的东西吗。我只想显示内容,不必通过KeyValue。我认为这应该是一个新问题:p@JaiPrak谷歌将Gmail附加组件的UI抽象出来的原因是为了使附加组件在所有平台(包括移动平台)上看起来都是一致的。更不用说在Gmail中注入JavaScript会带来多个安全问题。这个答案其实是有道理的,不知道为什么会被否决?这个答案其实是有道理的,不知道为什么会被否决?
    <!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>