Google 脚本 - 侧边栏按钮不断打开一个新标签

Google Script - Sidebar button keeps opening a new tab

我正在创建一个非常基本的脚本来帮助我处理我的 google 电子表格之一。

我已经成功地显示了一个侧边栏,其中有几个按钮(哪个功能)。但是,每当我单击其中一个按钮时,它还会打开一个新选项卡,其中包含 URL 内容,例如:“https://n-lx3mdv5ls3mdgglsq226llilxd2m4owxy72y3fy-1lu-script.googleusercontent.com/userCodeAppPanel?”

即使按钮没有任何功能,这种情况仍然会发生。

下面是 html 的示例:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
    <!-- The CSS package above applies Google styling to buttons and other elements. -->

    <style>
    
    </style>
  </head>
  <body>
    <div class="sidebar">
      <form>
       <div class="block" id="buttons">
          <button id="unindent">Unindent</button>
          <button id="indent">Indent</button>
          <button id="asdgdgasg">Test</button>
        </div>
      </form>
    </div>
  </body>
</html>

如何阻止每次打开这个新标签页?

当我看到你的问题时,我认为这是由于 <form>。所以我提出如下修改。

  1. 修改<form><form onsubmit="event.preventDefault()">.

  2. 修改<base target="_top"><base target="_self">.

  3. 移除<base target="_top">.

注:

  • 我认为是更有用的信息。

参考文献:

问题:

  • <button>类型,不指定默认为type=submit。所以,表单自动将数据提交给服务器。这在 iframe 中不可取。

解决方案:

  • 将按钮类型明确指定为按钮。 <button type='button'>
  • 使用 event.preventDefault() 防止自动提交表单。

参考文献: