Ответ:
К сожалению, из-за изменений в работе новых сайтов по сравнению с сайтами Classi c, больше невозможно выполнить перенаправление на новом сайте.
Дополнительная информация:
Как вы можете видеть в консоли, вы получаете следующую ошибку при попытке перейти в окно верхнего уровня из JavaScript:
Небезопасная JavaScript попытка инициировать навигацию для фрейма с источником https://sites.google.com
из фрейма с URL https://<id>.script.googleusercontent.com/userCodeAppPanel
. Фрейм, пытающийся перемещаться по окну верхнего уровня, помещается в «песочницу», но флаг allow-top-navigation
или allow-top-navigation-by-user-activation
не установлен.
и:
Отказано в отображать <URL>
в кадре, поскольку для X-Frame-Options
установлено значение sameorigin
.
Можно установить X-Frame-Options
для встроенной страницы скрипта Google Apps, используя метод .setXFrameOptionsMode()
HtmlService
и использование перечислителя XFrameOptionsMode
, как показано здесь:
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('index')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
К сожалению, песочнице необходим флаг allow-top-navegation
или allow-top-navegation-by-user
, чтобы иметь возможность перенаправить из песочницы. Согласно документации, единственными режимами песочницы, доступными из HtmlService
, являются следующие Enmerators:
IFRAME
: режим песочницы, в котором используется песочница iframe вместо технологии песочницы Caja, используемой режимы EMULATED
и NATIVE
. Этот режим используется по умолчанию для новых сценариев с 12 ноября 2015 года и для всех сценариев с 6 июля 2016 года.
NATIVE
: режим песочницы, построенный поверх ECMAScript 5 строгий режим. Режим песочницы построен на основе строгого режима ECMAScript 5. По состоянию на 6 июля 2016 г. этот режим был закатом. Все сценарии теперь используют режим IFRAME.
EMULATED
: устаревший режим песочницы, который имитирует строгий режим ECMAScript 5, используя только функции, доступные в ECMAScript 3. Этот режим по умолчанию использовался до февраля 2014 года. Фактически устарел. Все сценарии, пытающиеся использовать EMULATED
, теперь будут использовать IFRAME
вместо этого.
Установка флагов для изолированной среды Встраивание невозможно выполнить из интерфейса «Новые сайты», поэтому добавить требуемый флаг разрешения навигации также невозможно с конца «Сайты».
Что вы можете сделать:
Там здесь нет ничего, что можно сделать, пока вы работаете с новыми сайтами. Однако, как вы уже указали, сайты Classi c разрешают это, если это подходящий обходной путь.
Я знаю, что, как правило, это плохие новости, но я надеюсь, что это полезно для вас!
Ссылки: