寻找使用库版本的方法?

2024-05-02

我正在通过库在多个电子表格上部署脚本。 但正如您所知,脚本(目前)还无法知道它是否正在运行最新版本。

我试图通过为我的代码创建自己的版本控制来找到解决此问题的方法。 我有一个 Web 服务返回我的库代码的最新版本号,以便我可以对其进行比较,但 onOpen() 无法运行 fetchURL。我尝试打开一个保留信息的电子表格,但 onOpen() 再次不允许您 openById...

onOpen() 触发器具有安全限制,阻止我查阅可用于保留版本控制的外部数据源。

注意:我不想对 onOpen() 事件使用脚本触发器。复制电子表格时,不会复制脚本触发器。

因此,我对如何通过指向外部数据源(URL、其他电子表格 - 任何东西!)来检查 onOpen() 触发事件上的库版本已经没有想法了。

有什么建议么?


最简单的解决方案是将 getVersion() 方法添加到您的库中,并在每次更新库时手动更新它。

编辑:我发现您不仅想知道版本,还想知道这是否是最新版本。您可以将该信息存储在库中的 ScriptProperties 中,并具有如下函数:

function isLatestVersion() {
  return currentVersion == ScriptProperties.getProperty("latestVersion");
}

(我假设您可以将 currentVersion 硬编码到代码中,并在每次重新部署 web 应用程序时更改它。)可以通过“文件”>“项目属性”菜单编辑脚本属性,并且您可以更改值而无需重新部署脚本,因此通过从该菜单更改latestVersion,您将使旧版本在调用isLatestVersion()时突然开始响应“false”。

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

寻找使用库版本的方法? 的相关文章

随机推荐

  • 如何向 display:block 添加过渡/效果

    我有一个这样的div x 以及最初隐藏的一种 子菜单 x submenu display none 仅当用户位于 x div 上时子菜单才可见 div x hover x submenu display block 现在 我想通过事务或使可
  • 选择部分文本右对齐[重复]

    这个问题在这里已经有答案了 我想知道是否有任何方法可以将选项文本的一部分向右对齐 在下面 您可以看到我有一个选择 左侧有一些名称 右侧有 垂直 我需要将 垂直 向右拉 有什么办法可以做到这一点吗
  • 如何用其他树替换子树?

    在 Scala 宏中 我想做这样的事情 我有一个Tree 可能很大 现在我想找到这棵树的一个具有某种具体形式的子树 例如Apply 现在我想创建一棵新树 它是原始树的副本 但找到的子树被其他树替换 例如 通过类似的方法 我可以用调用某些其他
  • MySQL 5.0 索引 - 唯一索引与非唯一索引

    MySQL 唯一索引和非唯一索引在性能方面有什么区别 假设我想在 2 列的组合上创建索引 并且该组合是唯一的 但我创建了一个非唯一索引 这会对 MySQL 使用的性能或内存产生重大影响吗 同样的问题 有区别吗primary钥匙和unique
  • Orchard 1.7 - 为未发布的内容创建自定义工作流程活动

    我需要利用 Orchard CMS 中的活动列表 未发表的活动是要求之一 我查看并发现 Orchard 默认工作流程活动列表没有未发布的活动 我构建了一个模块来添加我自己的自定义工作流程活动 我在创建活动并使它们工作方面没有问题 但我不知道
  • 编译错误:linux/module.h:没有这样的文件或目录

    我写了一个简单的模块 define KERNEL define MODULE include
  • IIS 进程无法访问正在使用的文件

    我们为服务器创建了 SSL 证书 当我们想要启动 IIS 时 我们收到此错误 该进程无法访问该文件 因为该文件正在被另一个进程使用 端口 443 似乎正在使用中 我该如何解决这个问题 或者我怎样才能知道为什么端口 443 被使用 Marc
  • 如何在多个Postgresql数据库之间共享表

    我的 Web 应用程序有多个部署 每个部署都是一个具有唯一 URL 的唯一站点 每个部署都有不同的数据 UI 等 但有非常相似的 Postgresql 数据库结构 带有 PostGIS 这些数据库都位于同一数据库服务器上 我希望来自 1 个
  • 如何在java中的组合框之间使用过滤器?

    我的数据库中有两个表 分别是学期表和课程表 学期表中有学期 ID 课程 ID 课程名称和 Sdepartment 部门名称 课程表有课程 ID 和课程名称 我的 jframe 有两个组合框 第一个用于选择部门 第二个用于选择课程 我想选择所
  • https 安全 cookie 是否可以防止 XSS 攻击?

    https 连接是否可以保护 cookie 并防止 XSS 攻击 我有一个简单的博客 允许用户输入 JavaScript 代码作为输入 我希望允许用户输入 Javascript 同时仍然防止 XSS 攻击和 cookie 窃取 https
  • 如何在java中从大小为n的集合中迭代生成k个元素子集?

    我正在研究一个难题 涉及分析所有大小为 k 的子集并找出哪个是最佳的 我编写了一个解决方案 该解决方案在子集数量较小时有效 但对于较大的问题 它会耗尽内存 现在我正在尝试将用 python 编写的迭代函数转换为 java 以便我可以在创建每
  • 无法从用法推断方法的类型参数

    namespace TestLibrary TestFixture public class Class1 public delegate T Initializer
  • 针对 JSON 模式的验证会发送额外的验证消息

    我需要验证 json relatedParty tr13 action b relatedParty er127 我想验证狭窄和属性值 所以我写了以下 json 模式 type array maxItems 4 items type obj
  • 复合运行步骤 GitHub Actions 错误:“在 URI 处找不到操作”

    我正在尝试在 GitHub Actions 上使用复合运行步骤操作 如上所述here https github blog changelog 2020 08 07 github actions composite run steps 7E
  • python sympy计算余弦函数积分时出错

    因此 我直接尝试从 sympy 文档中获取示例 但出现了一个奇怪的错误 我正在使用 python 3 2 和 sympy 0 7 3 我一直在 ipython 笔记本上工作 尽管我认为这不会有什么不同 错误是 每当我创建 x 符号并尝试集成
  • 如何使用谷歌趋势查找编程语言流行总体趋势的统计数据

    我喜欢关注趋势浏览器 操作系统 语言等 我发现谷歌趋势是一个非常有用的资源有时但有时我无法获得我想要的信息 与多年来其他主要 Linux 发行版相比 Ubuntu 的增长非常明显 在发布日期附近有 6 个月度峰值 由于非编程相关事件而出现偏
  • 为什么在“if False:”块中注释赋值语句会导致差异“NameError”消息?

    如果我评论了baz 4中的声明if False 阻止我收到消息NameError name baz is not defined否则我收到消息NameError free variable baz referenced before ass
  • 从 MySQL 转储中删除 DEFINER 子句

    我有一个数据库的 MySQL 转储 其中有 DEFINER 子句 如下所示 DEFINER root localhost 也就是说 这些 DEFINER 子句位于我的 CREATE VIEW 和 CREATE PROCEDURE 语句中 有
  • 使用 sed 反转输入顺序

    我有一个文件 我们将其命名为 a txt 该文件包含以下文本行 do to what 我想知道 SED 命令是什么来反转此文本的顺序 使其看起来像 what to do 我必须做某种追加吗 就像将 do 附加到 to 所以它看起来像 to
  • 寻找使用库版本的方法?

    我正在通过库在多个电子表格上部署脚本 但正如您所知 脚本 目前 还无法知道它是否正在运行最新版本 我试图通过为我的代码创建自己的版本控制来找到解决此问题的方法 我有一个 Web 服务返回我的库代码的最新版本号 以便我可以对其进行比较 但 o