google-apps-script - Google Apps 脚本 - 从菜单项打开链接

标签 google-apps-script

是否可以在点击附加组件的 menu item 后直接打开带有指定 URL 的新窗口/标签页? ?类似于 window.open() 的东西。

最佳答案

我正在寻找如何做到这一点,然后意识到我有一个已经做到了的旧菜单项!所以我想我会在这里添加一个答案,因为它是我搜索中出现的第一个结果。感谢别人,我在几年前找到了这个解决方案并保存了它。

function menuItem(){
  var url = 'http://www.stackoverflow.com/';
  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 url... make sure the pop up is not blocked." );
}

关于google-apps-script - Google Apps 脚本 - 从菜单项打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24624525/

相关文章:

javascript - 如何使用应用脚本根据单元格值修改谷歌表格图表颜色

javascript - 为什么我不能使用 Google Apps 脚本对包含空格的字符串执行 .split() ?

javascript - 在 Google 脚本中显示进度

google-apps-script - 控制台中不需要的输出

google-apps-script - 使用应用程序脚本设置文本格式(Google 文档)

javascript - 仅通过电子表格最后一行运行 Google 脚本?

javascript - 使用“保存”按钮自动复制新工作表中的数据

javascript - 如何在 coffeescript 中为 Google Apps 脚本生成全局命名的 javascript 函数

javascript - focus() 在 Chrome 中的 getUi().showSidebar html 中不起作用

google-apps-script - 列出谷歌驱动器中的所有文件和文件夹