我想同时使用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中报告此问题