首页 > 解决方案 > 在表单提交事件中打开 URL - Google App Script

问题描述

我正在使用此处找到的 Serge insas 提供的示例代码: Google Apps Script to open a URL

我稍微修改了代码,如下所示:

代码.GS

   function modalUrl(){
      FormApp.getUi()
       .showModalDialog(
         HtmlService.createHtmlOutputFromFile('openUrl').setHeight(50),
         'Opening StackOverflow'
       )
    } 

openURL.html

<!DOCTYPE html>
<html>
  <head>
   <base target="_blank">
    <script>
     var url1 ='https://stackoverflow.com/a/54675103';
     var winRef = window.open(url1);
     winRef ? google.script.host.close() : window.alert('Allow popup to redirect you to '+url1) ;
     window.onload=function(){document.getElementById('url').href = url1;}
    </script>
  </head>
  <body>
    Kindly allow pop ups</br>
    Or <a id='url'>Click here </a>to continue!!!
  </body>
</html>

出现的问题是提交表单后无法访问 FormApp.getUi。请参阅下面的错误: 在此处输入图像描述

标签: google-apps-scriptgoogle-forms

解决方案


如有关UI类的文档中所述:

脚本只能与打开的编辑器的当前实例的 UI 交互,并且仅当脚本是容器绑定到编辑器时。

对于 Google 表单,编辑器是在您编辑特定表单时而不是在您填写表单时。如果表单未嵌入网站,您无法在表单提交后自动重定向用户,本支持文章中的解决方法可能对您有所帮助。


推荐阅读