GAS:HTMLService无法在V8运行时中打开侧边栏

问题描述 投票:0回答:1

我在Rhino上运行了一个非常大的项目,但是当我将其切换到V8时,其中一项基本功能中断了-无法在Google表格中打开侧边栏。

基本架构:

A]带有用于导入GAS库(V8)的脚本(Rhino)的Google表格A。侧边栏在库中。

B]具有导入GAS库(V8)的脚本(V8)的Google表格B。侧边栏在库中。


此代码在库中(独立的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;
  }
}

先前的库函数是通过“ LIB”命名空间描述符从父Sheet 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)结果是显示以下警报:

“无法呈现边栏:异常:找不到。”

将Sheet B中的脚本切换回Rhino解决了该问题,并且侧边栏也在Sheet B中打开。

因此,问题在于切换到V8。

V8上的文件名是否以路径形式出现问题(“ sidebar / sidebarClient.html”)?我正在使用扣环将文件同步到子文件夹中-这确实是一个巨大的项目,如果没有它,我将无法(或者拒绝这样做)。

Edit:我尝试使用带和不带.html扩展名,带和不带路径的文件名。行为是相同的(文件路径“ sidebar / sidebarClient”,“ sidebar / sidebarClient.html”,“ sidebarClient”和“ sidebarClient.html”的所有变体行为相同,在工作表A中打开,在工作表B中找不到) 。

任何人都知道发生了什么事吗?

javascript google-apps-script v8 clasp
1个回答
0
投票

我还在Google的问题跟踪器上打开了一个问题,目前仍未解决:https://issuetracker.google.com/issues/150054572

© www.soinside.com 2019 - 2024. All rights reserved.