У меня очень большой проект, работающий на Rhino, но когда я переключаю его на V8, одна из основных функций c выходит из строя - боковую панель в Google Sheets больше нельзя открыть.
Basi c архитектура:
A) Google Sheet A со скриптом (Rhino), импортирующим библиотеку GAS (V8). Боковая панель находится в библиотеке.
против
B) Google Sheet B со скриптом (V8), импортирующим библиотеку GAS (V8). Боковая панель находится в библиотеке.
Этот код находится в библиотеке (автономный файл сценария GAS, работающий на 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;
}
}
Предыдущая функция библиотеки запущена из родительского сценария Sheet A / B через дескриптор пространства имен «LIB»:
// 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) Все работает нормально, код выше открывается боковая панель на листе А, как и ожидалось.
B) В результате появляется предупреждение:
"Не удалось отобразить боковую панель: исключение: не найдено. "
Переключение сценария на листе B обратно на Rhino решает проблему, и боковая панель открывается также на листе B.
Поэтому проблема заключается в переключении на V8.
Является ли проблема с именем файла в форме пути в V8 ( "sidebar / sidebarClient. html" )? Я использую cl asp для синхронизации c файлов в подпапках - это действительно огромный проект, и я не могу (или скорее отказываюсь) обойтись без этого.
Редактировать: Я пытался использовать имя файла с расширением. html и без него, а также с путем и без него. Поведение одинаково (все варианты пути к файлу "sidebar / sidebarClient", "sidebar / sidebarClient. html", "sidebarClient" и "sidebarClient. html" ведут себя одинаково, открытие в листе A, не найдено в листе B).
У кого-нибудь есть идеи, что может происходить?