我想同时使用appscript htmlservice和appscript,
html服务似乎有效,但是可视化效果不起作用。
这是参考代码。
Code.GS:

// Script-as-app template.
function doGet() {
return HtmlService.createHtmlOutputFromFile('html_visualization');
}


html_visualization.html

    <html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
  <script type="text/javascript">

   google.load('visualization', '1.0', {'packages':['corechart']});
   google.setOnLoadCallback(drawChart);
   function drawChart() {

   var data = new google.visualization.DataTable();
      data.addColumn('string', 'Topping');
        data.addColumn('number', 'Slices');
         data.addRows([
        ['Mushrooms', 3],
         ['Onions', 1],
         ['Olives', 1],
         ['Zucchini', 1],
         ['Pepperoni', 2]
         ]);
         var options = {'title':'How Much Pizza I Ate Last Night','width':400, 'height':300};
          var chart = new google.visualization.PieChart(document.getElementById ('chart_div') );
           chart.draw(data, options);
     }

       </script>

  </head>
  <body>
    <div id="chart_div"></div>
    Hello World
  </body>

       </html>


发布时,出现Hello world,但图表没有迹象。

最佳答案

HtmlService使用Caja从HTML页面中过滤不安全的Javascript,CSS和html,然后将过滤的内容呈现给浏览器。
当我在Caja Playground测试您的代码时,它显示了相同的行为,因此这是Caja而不是Htmlservice的问题。
您可以在Caja Payground上测试您的HTML文件

测试您的HTML文件的步骤


将HTML文件代码复制到Caja Playground的“源”选项卡
打Cajole按钮
一段时间后,“渲染结果”选项卡将向您显示结果


您可以在Caja issue Tracker中报告此问题

07-24 09:51