点击加载项menu item后,是否可以直接打开包含指定网址的新窗口/标签?类似于window.open()的东西。
答案 0 :(得分:1)
不可能。显示一个显示锚点的小gui 即使您将链接放在单元格上,它仍然需要两次点击。
答案 1 :(得分:1)
我正在寻找如何做到这一点,然后意识到我有一个旧的菜单项已经做到了!所以想我会在这里添加一个答案,因为它是我搜索中出现的第一个结果。归功于其他人,我几年前找到了这个解决方案并保存了它。
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." );
}