从apps脚本加载项菜单中打开一个新窗口

时间:2017-05-22 14:09:03

标签: javascript google-apps-script google-spreadsheet-api

我有一个附加组件,我需要重定向到外部URL,而不是在单击菜单时使用Dialog或Sidebar加载。

我有侧边栏代码

function showContactDialog() {
    var html = HtmlService.createTemplateFromFile('Website').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setWidth(480).setHeight(380);
    SpreadsheetApp.getUi().showModalDialog(html, 'Website');
}

3 个答案:

答案 0 :(得分:2)

在您的HTML中,您可以打开一个新标签页(如果您的浏览器支持此类标题),但您无法重定向该页面。

在HTML中,您可以执行以下操作:

<script>
function openPage() {
  window.open('https://google.com', '_blank');
}

window.onload = openPage;
</script>

答案 1 :(得分:0)

Website.html中放置此代码

<!DOCTYPE html>
<html>
    <head>
        <base target="_top">
        <script type="text/javascript">
            function opentab(){
                window.open(LINK_YOU_WANT_TO_OPEN, '_blank');
            }
        </script>
    </head>
    <body onload="opentab()">
    </body>
</html>

答案 2 :(得分:0)

这对我来说很好用

function open_new_doc()
{
 var html = '<script>google.script.host.close();'+
            'window.location.href = "'+open_url+'"</script>';

 var html_open = HtmlService.createHtmlOutput(html).setSandboxMode(HtmlService.SandboxMode.IFRAME);
 DocumentApp.getUi().showModalDialog(html_open, 'Opening New Window...');  
}