我在Rhino上运行了一个非常大的项目,但是当我将它切换到V8时,一个基本的功能中断了-- Google中的侧栏不能再打开了。
基本架构:
A) Google,带有一个导入GAS库(V8)的脚本(Rhino)。侧边栏在图书馆里。
对比
B) Google,其脚本(V8)导入了一个GAS库(V8)。侧边栏在图书馆里。
此代码位于库中(运行在V8中的独立脚本文件):
// called from parent script as LIB.showSidebar()
function showSidebar() {
try {
var ui = HtmlService.createTemplateFromFile("sidebar/sidebarClient.html")
.evaluate()
.setTitle("tools sidebar");
SpreadsheetApp.getUi().showSidebar(ui);
} catch (error) {
var ui = SpreadsheetApp.getUi();
ui.alert("Couldn't render sidebar: " + error);
return;
}
}前面的库函数是通过"LIB“命名空间描述符从父表A/B脚本运行的:
// simple trigger
function onOpen(e) {
buildMenu();
}
// builds menu
function buildMenu() {
SpreadsheetApp.getUi()
.createMenu("My menu")
.addItem("Open sidebar", "openSidebar")
.addToUi();
}
// opens sidebar
function openSidebar() {
LIB.showSidebar();
}行为:
A)万事俱备,上面的代码如期而至地打开了工作表A中的边框。
B)结果是一个警报,显示:
“无法呈现侧边栏:异常:未找到”。
将B页中的脚本切换回Rhino解决了这个问题,侧栏也在Sheet B中打开。
因此,问题是切换到V8。
文件名是否以路径的形式出现在V8上(“侧栏/侧栏Client.html”)?我正在使用clasp将文件同步到子文件夹中--这真的是一个很大的项目,我不能(或者更确切地说是拒绝)没有它。
我尝试使用带有和不带.html扩展的文件名,以及带有和不带路径的文件名。行为是相同的(文件路径“侧栏/侧栏客户端”、“侧栏/侧栏客户端”、"sidebarClient“和"sidebarClient.html”的所有变化都是一样的,在表A中打开,在表B中找不到)。
有人知道怎么回事吗?
发布于 2020-02-23 18:03:06
我还在谷歌的问题追踪器上打开了一个问题,目前还没有解决:https://issuetracker.google.com/issues/150054572
https://stackoverflow.com/questions/60356124
复制相似问题