有没有办法编写一个谷歌应用程序脚本,以便在运行时,第二个浏览器窗口打开到 www.google.com(或我选择的另一个网站)?
我想在这里解决我之前的问题: Can I add a hyperlink inside a message box of a Google Apps spreadsheet
原文由 PY_ 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有办法编写一个谷歌应用程序脚本,以便在运行时,第二个浏览器窗口打开到 www.google.com(或我选择的另一个网站)?
我想在这里解决我之前的问题: Can I add a hyperlink inside a message box of a Google Apps spreadsheet
原文由 PY_ 发布,翻译遵循 CC BY-SA 4.0 许可协议
此函数 无需额外的用户交互即可 打开 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 公式。
原文由 Stephen M. Harris 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答902 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答913 阅读✓ 已解决
2 回答792 阅读
1 回答786 阅读✓ 已解决
2 回答1.1k 阅读
您可以构建一个小的 UI 来完成这样的工作:
如果您想“显示”URL,只需像这样更改此行:
编辑:链接到一个 只读 的演示电子表格,因为太多人一直在上面写不需要的东西(只是制作一个副本来使用)。
编辑:UiApp 于 2014 年 12 月 11 日被 Google 弃用,此方法可能随时中断,需要更新以改用 HTML 服务!
编辑:下面是一个使用 html 服务的实现。