gpt4 book ai didi

javascript - 如何保持 Google Drive 侧边栏可用的持久服务器端数据?

转载 作者:行者123 更新时间:2023-12-02 23:29:11 25 4
gpt4 key购买 nike

我想从 Google Apps 脚本代码创建的侧边栏 HTML 文档访问其持久服务器端实例中的对象。

我在 GAS 方面经验丰富,但在网页设计方面经验较少。我的总体目标是创建一个交互式侧边栏,代表 Google 文档的内部结构。

现在它显示了文档运行时的结构,但我想实现一些功能,例如突出显示或单击侧边栏中的元素以突出显示 Google 文档中的相应元素,和/或反之亦然。

我想通过访问 HTML 元素的 ID 与表示 Google 文档元素的 GAS 对象之间的对应关系来实现此目的。首次运行脚本时构建该对应关系很容易,但我不知道如何保留它以便 HTML 代码可以访问它。

我知道您可以从 HTML 调用 GAS 函数,但它们不会存在于同一个执行实例中,因此它们无法访问对应关系。

我知道您可以使用模板将数据传递到 HTML 文档,但这需要序列化 ​​Document 对象或 ParagraphElement 对象,或者其他任何东西,我如果可能的话想避免打交道。我还希望这些对象保持与实际 Google 文档的连接,但据我了解,它们不会。

我知道您可以访问缓存和/或文档属性,但这两者都还涉及序列化 Document 对象。

我知道你可以使用触发器来调用 GAS 函数,例如编辑文档时,然后访问文档的 UI,但是(同样,据我了解)这将需要在编辑文档时重写整个侧边栏 HTML,我认为这会使其看起来很糟糕且烦人。

我怎样才能做到这一点?我的任何假设都是错误的吗?有这类事情的好例子吗?

最佳答案

我也做过类似的事情。我想跟踪文档的各个部分,并能够从侧边栏更改它们的格式。即使文档发生变化,我也希望它能够工作。

我的解决方案是在文档中我想要突出显示的部分周围嵌入零宽度(非打印)unicode 字符。然后我可以使用模式搜索来查找我感兴趣的部分并更改字体、格式等。

我使用的字符是:

var ZERO_WIDTH_SPACE = '\u200B';
var ZERO_WIDTH_NON_JOINER = '\u200C';
var ZERO_WIDTH_JOINER = '\u200D';
var ZERO_WIDTH_NBSP = '\uFEFF';

关于javascript - 如何保持 Google Drive 侧边栏可用的持久服务器端数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56589031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com