关于扩展 GAS 电子表格用途的问题

2024-03-15

I would like to offer the opportunity to view output from the same data, in a spreadsheet, TBA http://glasier.hk/blazer/scriptsShop/TBA.html sidebar and, ideally another type of HTML window for output created, for example, with a JavaScript Library like THREE https://threejs.org/examples/#webgl_animation_cloth. modeler output The non Google version I made is a web page with iframes that can be resized, dragged and opened/closed and, most importantly, their content shares the same record object in the top window. So, I believe, perhaps naively, something similar could be made an option inside this established and popular application. Spread output At the very least, the TBA trial has shown me it useful to view and manipulate information from either sheet or TBA https://stackoverflow.com/questions/30628894/how-do-i-make-a-sidebar-display-values-from-cells/56358850#56358850. The facility to navigate large building projects, clone rooms and floors, and combine JSON records (stored in depositories like myjson http://myjson.com/) for collaborative work is particularly inspiring for me.

我尝试过对不同的 HTML 文件使用侧边栏,但事实上只有一个保持打开状态并不是很有用,而且坦率地说,共享记录对象仍然超出了我的能力范围。这就是主要问题。谷歌人是否会考虑额外的窗口类型可能有点雄心勃勃,但我认为值得一问。


您无法在对 HtmlService 的调用之间维护全局变量。当您启动在浏览器中运行的 HtmlService 实例时,启动它的服务器端代码就会退出。

从那时起,控制权就在客户端,在 HtmlService 代码中。如果您随后启动服务器端函数(从客户端使用 google.script.run),则会启动服务器端脚本的新实例,并且不会存储前一个实例 - 这意味着所有全局变量都会重新初始化。

有多种技术可以在调用之间保留值。

  • 当然,最简单的方法是首先将其传递给 htmlservice,然后将其作为 google.script.run 的参数传递回服务器端。
  • 另一种是使用物业服务来保存你的价值观,当你回去时它们仍然存在,但有一个最大条目大小9k
  • 如果您需要更多空间,那么缓存服务可以在单个条目中保存 100k,您可以以相同的方式使用它(尽管有很小的机会它会被清除 - 尽管这对我来说从未发生过)
  • 如果您需要更多空间,可以使用一些技术来压缩和/或将单个对象分散到多个缓存条目中 - 如此处所述http://ramblings.mcpher.com/Home/excelquirks/gassnips/squeezer http://ramblings.mcpher.com/Home/excelquirks/gassnips/squuezer。如果您需要更长时间地保存数据,同样的方法支持 Google Drive 或 Google 云存储

当然,您不能传递不可字符串化的对象(例如函数等),但您可以推迟它们的评估并允许初始化的服务器端脚本评估它们,甚至在服务器、客户端或跨项目之间共享相同的代码。

这些文章中描述了一些技术http://ramblings.mcpher.com/Home/excelquirks/gassnips/nonstringify http://ramblings.mcpher.com/Home/excelquirks/gassnips/nonstringify http://ramblings.mcpher.com/Home/excelquirks/gassnips/htmltemplateresuse http://ramblings.mcpher.com/Home/excelquirks/gassnips/htmltemplateresuse

然而,在您的具体示例中,似乎您想要的全局数据是从外部 api 调用中获取的。无论如何,为什么不直接在客户端检索它呢?如果您需要在服务器端对其执行某些操作,请使用 google.script.run 将其传递到服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于扩展 GAS 电子表格用途的问题 的相关文章

随机推荐

  • 将请求的文件从 API 传输到 API:NestJS(HttpService: Axios) 到 Python(flask)

    我正在尝试将文件从 NestJS API 传输到 Python Flask API 此过程将由 Nest API 上的 POST 请求 FormData 文件 触发 然后 Nest api 应该将文件发送到 Python api NestJ
  • MongoEngine - 通过 id 从 ListField 中提取引用

    我想删除一些引用ListField ReferenceField 仅基于其价值 我将有关图像的信息存储在以下模型中 class ImageUrl Document src UrlField counter IntField deleted
  • torchvision和tensorflow-gpu导入错误

    运行这个 import torchvision import tensorflow 产生错误 SystemError google protobuf pyext descriptor cc 354 内部函数的参数错误 但是 交换导入的顺序不
  • Tomcat不返回图片资源

    我正在使用 eclipse 并使用 eclipse 中的 tomcat6 运行我的 jsp servlet 我的 servlet 为我创建了一个图像 并将其存储在我的 webapps 的目录中 但是 当我尝试从 JSP 访问此图像时 它返回
  • React中输入的屏蔽卡号

    我正在学习 React 并希望输入有两个约束 16个数字 每四个后面加一个空格 import React Component from react export default class CardNumberInput extends C
  • C 预处理器插入的空格

    假设我们得到以下输入 C 代码 define Y 20 define A x 10 x Y A A 40 gcc E像这样的输出 10 10 40 20 20 gcc E traditional cpp像这样的输出 10 10 40 20
  • Linux 内核是如何测试的?

    Linux 内核开发人员如何在本地测试他们的代码以及在提交代码后 他们是否使用某种单元测试和构建自动化 测试计划 Linux 内核非常重视社区测试 通常 任何开发人员都会在提交之前测试自己的代码 并且通常他们会使用 Linus 的内核开发版
  • Javascript数组排序和唯一性

    我有一个像这样的 JavaScript 数组 var myData 237 124 255 124 366 255 我需要数组元素是唯一的并且已排序 myData 0 124 myData 1 237 myData 2 255 myData
  • 发出 Facebook 好友请求时可以获取吗?

    friend request 流包含 2 个字段 uid from 和 uid to 没有关于提出请求的日期信息 还有其他表包含该信息吗 Thanks 在 Facebook 论坛上得到回复 这是不可能的
  • 一段时间后服务停止工作。需要连续工作

    我正在开发一个计步器应用程序 在其中计算行走的步数并在午夜将其更新到服务器 我有一个持续运行的服务来完成这一切 这是我的服务 public class StepCounterService extends Service implement
  • jquery .hover 不适用于 AJAX 呈现的元素

    我有一些通过 AJAX 调用创建的元素 在这些元素中 有一个子元素 当悬停时需要显示另一个动态创建的子元素 当我运行 hoverjquery 在小提琴中 工作正常 当我在代码中实现它时 它不想工作 我想知道这是否取决于什么时候 hover加
  • 使用 Apache HttpClient 的 Java HTTPPost 请求

    我需要一个java程序来生成以下请求 我正在使用 Apache HttpClient 库 但仍然无法生成如下请求 这是我的 python 程序生成的 我编写了一个等效的 java 程序 但它抛出了403 2012 09 10 15 12 0
  • Java GC 是确定性的吗

    我正在具有相同 JVM 参数的 Java 产品上多次运行同一场景 每次运行都会在持续时间和 开始时间 方面给出不同的 GC 行为 这是预期的吗 您是否手动运行System gc 因为这并不能保证立即 甚至根本不 真正执行垃圾收集 对于自动垃
  • Delphi:系统菜单打开了吗?

    在 Delphi 中 我需要一个函数来确定系统菜单 分别是窗口菜 单 单击图标时出现的菜单 是否打开 原因是我正在编写一个反键盘记录器功能 它将垃圾发送到当前活动的编辑控件 这也阻止了键盘记录器读取 WinAPI 消息来读取内容 但是 如果
  • 为 bash --login -i 执行自定义初始化脚本,例如从快捷方式更改为自定义目录

    现在我在 Windows 7 上使用 MSysGit 它是从 bat 文件启动的 该文件本身调用bash exe login i启动一个外壳 此时它会执行用户主目录中的 bashrc 文件 以及其他文件 我使用这个脚本来设置环境并cd到起始
  • 如何不在主线程上运行服务?

    我正在尝试启动service然后打开socket与服务器建立连接 单击按钮我创建新的Thread然后开始服务 Thread t new Thread public void run mIntent new Intent MainActivi
  • 如何在 OS X C 代码中创建异步计时器?

    所以这个问题实际上是 为什么 time h 在 OS X 和 Linux 上不一样 但是 我已经接受了这些分歧 为了在 Unix 系统上创建计时器 我遵循了本教程http www helsinki fi atk unix dec manua
  • WordPress:为特定插件管理页面加载自定义 CSS

    我正在学习 WordPress 我想为我的插件的特定管理页面加载自定义 CSS 我阅读了 WordPress Plugin API 并执行了如下操作 I ADD MY OPTION PAGES add action admin menu m
  • 迭代 socket.io v1 中的套接字? “......没有方法‘客户’”

    在我能够写出这样的东西之前 io sockets clients forEach function socket socket emit signal data 现在 我不能并且收到错误Object
  • 关于扩展 GAS 电子表格用途的问题

    I would like to offer the opportunity to view output from the same data in a spreadsheet TBA http glasier hk blazer scri