我试图从谷歌应用脚本访问p5.js库。以下是我尝试过的doGet()函数。我做错了吗?或者,在使用应用程序脚本时,此库是否无法访问?
function doGet() { eval(UrlFetchApp.fetch('https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.14/p5.js', Object).getContentText());
return HtmlService.createHtmlOutputFromFile('index');
}
我还尝试通过删除Object参数来更新代码:
function doGet() {
eval(UrlFetchApp.fetch('https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.14/p5.js').getContentText());
return HtmlService.createHtmlOutputFromFile('index');
}
但我仍然收到错误。
SyntaxError:之后缺少名称。操作
更新: 我从下面尝试了马里奥的代码。它修复了第一个错误。但现在我正在尝试创建一个画布,而我所看到的只是一个空白页面。没有列出错误。以下是代码的外观。
doget.gs
function doGet() {
var template = HtmlService.createTemplateFromFile("demo");
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
sketch.gs
function setup() {
createCanvas(400,600);
}
function draw() {
background(100);
}
demo.html
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.14/p5.js"></script>
<script src="sketch.gs"></script>
</head>
<body>
</body>
</html>
答案 0 :(得分:1)
首先,您必须创建一个新文件,并将所有HTML代码放在您想要使用的JavaScript中。
demo.html
<html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.14/p5.js"></script>
<?!= include('sketch'); ?>
</head>
<body>
</body>
</html>
sketch.html
<script>
function setup() {
createCanvas(400,600);
}
function draw() {
background(100);
}
</script>
然后在你的Appsscript文件code.gs中。这会创建Google Apps脚本代码和HTML的混合,以生成动态页面
function doGet() {
var template = HtmlService.createTemplateFromFile("demo");
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function include(filename) {
return HtmlService.createHtmlOutputFromFile(filename)
.getContent();
}
以下是HTML服务的Google文档 https://developers.google.com/apps-script/guides/html/templates