关闭网络应用程序标签可通过脚本编辑器使用,但不能通过Google表格进行:(

时间:2019-05-06 07:38:24

标签: javascript google-apps-script

在Web应用程序完成工作后,我正尝试关闭Web应用程序选项卡。

我正在使用

<body onload="setTimeout(function(){ window.top.close(); }, 1000);">

在index.html中实现我的目标。

通过点击google脚本编辑器中的链接触发触发/执行网络应用程序/以我的身份执行应用程序时,它会执行预期的操作(关闭网络应用程序标签),对所有人(甚至匿名/测试网络应用中的最新代码,

但是,如果我复制相同的链接并将相同的链接插入到Google工作表中的单元格并单击它,它的确会在新标签页中打开网络应用,但并没有按预期关闭它:(

所以

<body onload="setTimeout(function(){ window.top.close(); }, 1000);">

仅通过Google脚本编辑器工作,如果我单击插入在Google表格单元格中的网络应用程序链接或直接将其粘贴到浏览器中,则无法使用。

我的代码是:

function doGet() {
  var html = HtmlService.createTemplateFromFile("index").evaluate();
  html.setTitle("Some Testing");
  return html; 
}

function include(filename) {
  return HtmlService.createHtmlOutputFromFile(filename)
      .setSandboxMode(HtmlService.SandboxMode.IFRAME)
      .getContent();
}

我的index.html是:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body onload="setTimeout(function(){ window.top.close(); }, 1000);">
    <center>HELLO WORLD :)</center>
  </body>
</html>

我用来呼叫我的网络应用程序的Google工作表是:

https://docs.google.com/spreadsheets/d/18Ot_4LePEJPiEiCe955meR7wZkaFXAp2egmLCLT7CCg/edit?usp=sharing

(知道链接的任何人都可以编辑:)

请帮助我看看我看不到的东西。谢谢。

0 个答案:

没有答案