класс ui.showModalDialog выдает исключение безопасности LocalStorage, когда в браузере Chrome включен параметр «Блокировать сторонние файлы cookie».
В настоящее время в нашем приложении (как надстройка редактора Google, так и надстройка Google Workspace) мы используем showModalDialog для загрузки другого URL-адреса в iFrame.Ссылка ) Вот фрагмент кода для того же:
var html = HtmlService.createHtmlOutputFromFile(‘top’).setWidth(700)
.setHeight(620).setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
DocumentApp.getUi().showModalDialog(html, “My Page”);
«Верх» - это html-страница с iframe, на которой размещен URL-адрес. Это модальное диалоговое окно отображается правильно, когда пользователь нажимает кнопку на странице интерфейса HTML-страницы / карточки, размещенной на боковой панели надстройки. Это нормально работает, когда включен параметр «Разрешить все файлы cookie».
Исключение возникает только в том случае, если пользователь устанавливает «Блокировать сторонние файлы cookie» в настройках файлов cookie браузера Chrome. После отключения сторонних файлов cookie, когда пользователь нажимает кнопку на боковой панели, появляется диалоговое окно, которое не может отобразить страницу и выдает исключение безопасности. Я вижу приведенное ниже исключение безопасности локального хранилища в журналах консоли браузера.Ошибка в браузере
Uncaught SecurityError: не удалось прочитать свойство localStorage из окна: доступ запрещен для этого документа.
Как мне исправить эту проблему? Есть ли способ установить cookie через API хранилища из скрипта приложений Google?