【问题标题】:Disable cmd-R for executing scripts in Google Apps Script Editor on Mac禁用 cmd-R 以在 Mac 上的 Google Apps 脚本编辑器中执行脚本
【发布时间】:2021-07-12 17:55:09
【问题描述】:

我刚刚开始在 Mac 上的 Chrome 上使用 Google Apps 脚本编辑器。谷歌的好人添加了快速运行脚本的快捷方式,在 Windows 上是 ctrl-R,而且可能不会与任何东西冲突。然后他们将它翻译成 Mac 上的 cmd-R,这在全球范围内是有意义的。然而,作为 Mac 用户,我习惯于使用 cmd-R 重新加载页面(与 Windows 上的 F5 相比)。谷歌快捷方式优先,这意味着每次我点击 cmd-R 来简单地强制更新页面(因为它有时有助于重新加载页面),它会启动我正在查看的脚本。我担心它可能会在某个时候执行我不打算在那个特定时间执行的脚本。

有什么办法可以禁用谷歌快捷方式?我完全可以去点击箭头,但我不想在我不想这样做的时候冒险启动脚本。

【问题讨论】:

    标签: macos google-chrome google-apps-script editor


    【解决方案1】:

    很遗憾,无法禁用 Google Apps 脚本中的快捷键。但是,您可以在脚本中添加一个确认对话框,以添加额外的保护层,防止意外运行您的脚本。

    示例:

    代码:

    function myFunction() {
     var confirm = Browser.msgBox('Are you sure you want to execute the script?', Browser.Buttons.OK_CANCEL);
     if(confirm == 'ok'){
       //insert your code here
     }
    }
    

    对话框:

    参考:

    【讨论】:

    • 谢谢,虽然对于冲突没有实际的解决方案令人失望,但这绝对是一个开始。我希望/试图能够在运行任何函数之前通过将它放在顶层来全局运行该检查,它在任何函数调用之前执行,但我还没有找到中断脚本执行的方法( return 在函数外部不起作用)。它开始看起来很脏。也许我只需要在每个函数的开头添加这个检查。
    【解决方案2】:

    按照@Nikko 的建议,当脚本启动(即顶级)时,我会显示一个对话框,当答案是“取消”时,我只需等待 (Utilities.sleep()) 5 分钟,然后再等待。这可以防止函数在脚本被自动终止之前执行,但更充分的是,它会显示脚本执行对话框,您可以在其中选择取消执行。因此您不必等待 5 分钟,只需在脚本不执行任何操作时单击“取消”即可。再次,肮脏,但对我有用。

    if(Browser.msgBox("Are you sure you want to run this script?", Browser.Buttons.OK_CANCEL) == 'cancel') {
      Utilities.sleep(300000)
      Utilities.sleep(300000) // just to prevent accidental execution in the last split-second
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 2023-01-12
      • 1970-01-01
      相关资源
      最近更新 更多