用于打开 URL 的 Google Apps 脚本

2023-11-26

有没有办法编写谷歌应用程序脚本,以便在运行时,第二个浏览器窗口打开 www.google.com (或我选择的另一个网站)?

我试图在这里想出一个解决我之前问题的方法:我可以在 Google Apps 电子表格的消息框中添加超链接吗


该函数打开一个URL无需额外的用户交互.

/**
 * Open a URL in a new tab.
 */
function openUrl( url ){
  var html = HtmlService.createHtmlOutput('<html><script>'
  +'window.close = function(){window.setTimeout(function(){google.script.host.close()},9)};'
  +'var a = document.createElement("a"); a.href="'+url+'"; a.target="_blank";'
  +'if(document.createEvent){'
  +'  var event=document.createEvent("MouseEvents");'
  +'  if(navigator.userAgent.toLowerCase().indexOf("firefox")>-1){window.document.body.append(a)}'                          
  +'  event.initEvent("click",true,true); a.dispatchEvent(event);'
  +'}else{ a.click() }'
  +'close();'
  +'</script>'
  // Offer URL as clickable link in case above code fails.
  +'<body style="word-break:break-word;font-family:sans-serif;">Failed to open automatically. <a href="'+url+'" target="_blank" onclick="window.close()">Click here to proceed</a>.</body>'
  +'<script>google.script.host.setHeight(40);google.script.host.setWidth(410)</script>'
  +'</html>')
  .setWidth( 90 ).setHeight( 1 );
  SpreadsheetApp.getUi().showModalDialog( html, "Opening ..." );
}

此方法通过创建临时对话框来工作,因此它在无法访问 UI 服务的上下文中不起作用,例如脚本编辑器或自定义 G Sheets 公式。

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

用于打开 URL 的 Google Apps 脚本 的相关文章

随机推荐

  • 如何获取Posix系统中的总可用磁盘空间?

    我正在编写一个跨平台应用程序 我需要总可用磁盘空间 对于 posix 系统 Linux 和 Macos 我使用 statvfs 我创建了这个 C 方法 long OSSpecificPosix getFreeDiskSpace const
  • Flask Marshmallow 使用额外字段序列化多对多关系

    我在具有序列化模型对象的 Flask 应用程序中遇到问题 该对象与关联表中存储的额外字段具有多对多关系 我想要一个序列化数据 如下所示 id 123 name name mobile phone number interest 1 2 3
  • 如何在 TypeScript 中生成数字文字类型的增量版本?

    是否可以从数字类型T获取数字类型Y其值为 T 1 type one 1 type Increment
  • 虚拟继承和静态继承——C++中的混合

    如果你有这样的事情 include
  • 转义 LDAP 查询字符串中的非特殊字符

    我希望我已经恰当地命名了这个问题 这里的主题有点复杂 我创建了一个函数C 创建 Active Directory 用户 使用需要如下所示的 LDAP 字符串 userinfo displayName Surname Firstname CN
  • 从流 onError 中恢复的惯用方法

    免责声明 这是上一篇的延续2 个相关流的安全更新问题 是什么惯用语处理 RxJS 或任何其他 RX 实现 中允许流不终止的错误的方法 相关代码是 function convert unit value var request request
  • TCP P2P 无需服务器

    是否可以编写没有服务器的TCP P2P程序 当我在谷歌上搜索这个问题时 我发现了一些关于 NAT 穿越 UPnP 的内容 我可以以某种方式使用它们吗 是的 你可以 正如 GrandmasterB 指出的那样 每个对等点都有服务器和客户端套接
  • 使用 XAML 声明 Nullable int (int?)

    我正在尝试将组合框绑定到 ViewModel 上的属性 目标类型是short 我想要null是一个选择 基本上我希望组合框中第一项的值是 x Null
  • 在 Angular 2 中输出组件数组

    我正在 Angular 2 和 TypeScript 中构建一个模式组件 该组件将具有不同的视图 页面 它不会有选项卡 但概念非常相似 基本上我正在努力寻找一种方法来做到这一点 在我的模式组件中 我想输出不同的视图 页面 每个组件本身都应该
  • Phonegap - Android 如何在软键盘可见时调整全屏模式下的布局

    我正在为三星 Galaxy Tab 3 开发一个phonegap应用程序 当该应用程序处于全屏模式时 软键盘会隐藏文本输入字段 并且无法滚动页面来查看内容 我该如何解决这个问题 在花了一天时间尝试了该网站上几乎所有可能的解决方案后 没有任何
  • ExceptionContext.ExceptionHandled 更改为 true。异常在哪里处理?

    我正在使用全局操作过滤器来处理和记录所有异常 public static void RegisterGlobalFilters GlobalFilterCollection filters filters Add new ElmahHand
  • 在 ScrollView 中将文本对齐为前导 - SWIFTUI

    我有一个ScrollView ScrollView VStack alignment leading Text userData username userData age fontWeight semibold font Font sys
  • 安全处理 org.xml.sax.SAXNotRecognizedException 导致 Tomcat 内运行 java.lang.IllegalStateException 的解决方案

    我在接收 Xml 并尝试解析它时遇到此异常 负责此操作的代码在作为独立应用程序运行时经过了良好的测试 不过我现在正在将它集成到 Tomcat 中 堆栈跟踪是 java lang IllegalStateException org xml s
  • 如何使用 Python 和 matplotlib 绘制 4D 绘图

    我正在寻找一种使用 Python 和 matplotlib 创建四维图 曲面加色标 的方法 我能够使用前三个变量生成曲面 但我没有成功添加第四个变量的色标 下面是我的数据的一小部分 任何帮助将不胜感激 谢谢 数据子集 var1 var2 v
  • OpenCV 从字节数组创建 Mat

    在我的 C dll 中 我从字节数组创建 Mat BYTE ptrImageData Image data is in this array passed to this function Mat newImg Mat nImageHeig
  • 如何绑定命令以双击 DataGrid 中的行

    我开发了一个 WPF UserControl 旨在用作选择列表 如下所示 绑定到实体 例如员工 的 CollectionView 的 DataGrid DataGrid 上方的文本框 可用于过滤 DataGrid 中显示的项目 我想公开一个
  • Spark 数据集过滤器性能

    我一直在尝试不同的方法来过滤类型数据集 事实证明 性能可能会有很大不同 该数据集是基于 1 6 GB 行 33 列 4226047 行的数据创建的 DataSet 通过加载 csv 数据创建并映射到案例类 val df spark read
  • cakephp 查找列表

    您好 我希望能够使用 find 生成一个列表 以便我可以在选择帮助器中使用 但有一个问题 我也想获取 id 名称 第一个 最后一个 那么我怎样才能实现它呢 我希望将first name和last name作为name加入 我怎样才能实现它
  • AVD 的 SD 卡大小的合理值是多少? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我发现当我设置 AVD 时 并不真正知道我在做什么 只是按照在线教程或其他内容进行操作 我给 SD 卡的值是 100 MiB 这样的设置合理吗 我应该改用 8 GiB 之类的东西吗 还是这
  • 用于打开 URL 的 Google Apps 脚本

    有没有办法编写谷歌应用程序脚本 以便在运行时 第二个浏览器窗口打开 www google com 或我选择的另一个网站 我试图在这里想出一个解决我之前问题的方法 我可以在 Google Apps 电子表格的消息框中添加超链接吗 该函数打开一