Не удается остановить Google Apps Script от маскировки перенаправленного URL - PullRequest
0 голосов
/ 20 июня 2019

У меня есть функция doGet в моем скрипте приложений Google (прилагается к документу Google), который публикуется как веб-приложение, и я хочу, чтобы пользователь был перенаправлен на другую веб-страницу.Важно, чтобы URL-адрес страницы, на которую они перенаправлены, отображался в адресной строке, а заголовок страницы, на которую они перенаправлены, был заголовком вкладки (в Chrome).

Iпробовал использовать мета-тег обновления, а также установить window.location.href.Оба они перенаправляют правильно, но в адресной строке отображаются URL-адрес приложения, а не URL-адрес страницы, на которую перенаправляется пользователь.

Приведенный ниже скрипт, прикрепленный к Документу Google, иллюстрирует проблему..

function doGet(request) {
  var drive = DriveApp;
  var docs = DocumentApp;
  var Id = docs.getActiveDocument().getId();
  var document = docs.openById(drive.getFileById(Id).makeCopy().getId());
  document.setName("Test doc 2");
  var URL = document.getUrl();
  return HtmlService.createHtmlOutput('<meta http-equiv="refresh" content="0; url=' + URL + '" />')
}

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

См. Этот Документ Google для примера: https://docs.google.com/document/d/1HpBkNGGGjKj3W6QXThtGdniSO_UTANo8LcqmgZowdTQ/edit

1 Ответ

0 голосов
/ 20 июня 2019

Поскольку ваш html загружен в iframe, вы должны использовать

window.top.location = url

для загрузки в верхнюю раму.

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