为什么我的Google表单插件会打开一个新标签?

时间:2018-07-12 21:53:29

标签: javascript html google-apps-script google-form google-apps-script-addon

我正在使用带有Google Apps脚本的HTML界面UI制作Google Forms附加组件。 我已经开始快速入门并做了一些改动。

我第一次做任何形式的HTML都令人尴尬。

在用户界面中,我有一个按钮:

<div class="sidebar branding-below">
      <form>
        <div class="block" id="button-bar">
          <button id="deactivate" class="action" onclick="deactivatePressed()">Deactivate</button><br><br>
          <div id="deactivation-confirmation"></div>
        </div>
      </form>
    </div>

以下是相应的javascript,它们会调用实际执行工作的google apps脚本:

function deactivatePressed() {
    google.script.run.addTrigger(false);
    document.getElementById('deactivation-confirmation').innerHTML = "Success!";
}

按钮出现,调用的功能成功。

问题在于,按下此按钮还会打开一个新的空白标签,指向特定链接,如下所示:

https://n-it2esyxcfj91uyg675645seyxh42jvgbfydr5e6u56y-0lu-script.googleusercontent.com/userCodeAppPanel?

在控制台中,它运行一条错误消息,内容为:

  

不安全的JavaScript尝试启动具有原点的框架的导航   带有网址的框架中的“ https://docs.google.com”   'https://n-it2esyxcfj91uyg675645seyxh42jvgbfydr5e6u56y-0lu-script.googleusercontent.com/userCodeAppPanel'。   试图浏览顶级窗口的框架已沙盒化,   但标有“允许顶部导航”或   未设置“允许用户激活顶部导航”。

如何确保在运行脚本时未打开新选项卡?

我确定它在HTML / js中,并且不是Google Apps脚本代码,因为我注释掉了Google Apps Script函数的主体,但问题仍然存在。

1 个答案:

答案 0 :(得分:0)

这是因为该按钮位于<form>标记内。

将其更改为此:

<div class="sidebar branding-below">
   <div class="block" id="button-bar">
      <button id="deactivate" class="action" onclick="deactivatePressed()">Deactivate</button><br><br>
      <div id="deactivation-confirmation"></div>
   </div>
</div>