Закрыть вкладку веб-приложения работает из редактора сценариев, но не из листа Google :( - PullRequest
1 голос
/ 06 мая 2019

Я пытаюсь закрыть вкладку веб-приложения после того, как веб-приложение выполнит свою работу.

Я использую

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

в index.html для достижения моей цели.

Он делает то, что от него ожидают (закройте вкладку веб-приложения), когда он запускается нажатием на ссылку в редакторе скриптов Google / развертывание в качестве веб-приложения / запуск приложения в качестве Me, доступ к любому, даже анонимному / протестируйте веб-приложение для вашего последнего кода,

но если я скопирую эту же ссылку и вставлю эту же ссылку в ячейку на листе Google и нажму на нее, веб-приложение откроется в новой вкладке, но не закроется, как ожидалось: (

Итак,

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

работает только из редактора сценариев Google, но не в том случае, если я нажму на ссылку веб-приложения, вставленную в ячейку листа Google, или вставлю ее прямо в браузер.

Мой код.gs:

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

(любой, у кого есть ссылка, может редактировать:)

Пожалуйста, помогите мне увидеть то, чего я не вижу. Thanx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...