【问题标题】:Why does my Google Forms add-on open a new tab?为什么我的 Google 表单插件会打开一个新标签页?
【发布时间】:2018-07-12 21:53:29
【问题描述】:

我正在使用 Google Apps 脚本制作一个 Google 表单插件,并为其 UI 提供一个 HTML 文件。 我已经基本完成了快速入门并更改了一些内容。

这是我第一次做任何类型的 HTML,真是令人尴尬。

在我的 UI 中,我有一个按钮:

<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>

以下是调用 Google Apps 脚本的相应 javascript:

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

按钮出现,调用函数成功。

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

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

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

不安全的 JavaScript 尝试为具有原点的框架启动导航 带有 URL 的框架中的“https://docs.google.com” 'https://n-it2esyxcfj91uyg675645seyxh42jvgbfydr5e6u56y-0lu-script.googleusercontent.com/userCodeAppPanel'。 顶层窗口尝试导航的框架是沙盒的, 但是'allow-top-navigation'的标志或 'allow-top-navigation-by-user-activation' 未设置。

如何确保脚本运行时没有打开新标签页?

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

【问题讨论】:

  • 我也认为问题可能出在 HTML 方面,正如你所说。那么你能提供更多关于HTML端脚本的信息吗?我认为这将帮助用户思考您的解决方案。
  • @Tanaike 我添加了更多 HTML - idk 如果它太多,但我测试了它,问题仍然存在。
  • @Tanaike 想通了...相应地减少了代码
  • 很高兴您的问题得到了解决。感谢您提供更多信息。

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


【解决方案1】:

这是因为按钮位于&lt;form&gt; 标记内。

改成这样:

<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>

【讨论】:

    猜你喜欢
    • 2012-04-07
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 2011-09-22
    • 2014-06-20
    • 2010-11-12
    • 2020-10-10
    相关资源
    最近更新 更多