У меня есть Google Sheet, который обрабатывает данные, которые я передаю.
Я передаю данные на лист, добавляя iframe на веб-страницу через пользовательский скрипт JavasScript, запущенный в моем браузере, и устанавливая src iframe для URL-адреса скрипта Google:
var frame=document.createElement("iframe");
frame.src="https://script.google.com/macros/s/XXXXXXXXXXXX/exec?data=data";
Мой скрипт Google обрабатывает запрос и возвращает результат через этот процесс:
return ContentService
.createTextOutput(e.parameter.callback+"("+ output + ");")
.setMimeType(ContentService.MimeType.JAVASCRIPT);
Это один из двух возвращаемых результатов:
{"result":"success"}
или
{"result":"duplicate"}
Если я вставлю URL в адресную строку своего браузера, я смогу увидеть сообщение TextOutput после того, как мой браузер перенаправит на googleusercontent.com. Однако установка для URL-адреса iframe URL-адреса не приводит к перенаправлению, и я не могу увидеть, какой из двух результатов возвращается.
В конце концов я хотел бы каким-то образом иметь возможность обрабатывать / читать / перехватывать сообщение с помощью моего JavaScript-скрипта, но я бы согласился с тем, что мой iframe перенаправляет и отображает результаты.
Какой код я могу использовать в своем JavaScript-скрипте, который сможет определить, что iframe src выдает сообщение «success» или «duplicate»? Или как я могу разрешить моему iframe перенаправлять и отображать результаты?
Любая помощь приветствуется. Спасибо!
Edit:
Хотя я все еще пытаюсь выяснить любой из ответов на мои вопросы выше, я обнаружил, что проще просто открыть новую вкладку с URL-адресом скрипта Google, а не устанавливать src для iframe в URL. Я могу сделать это, включив target = '_ blank' в гиперссылку. Это не решает мою проблему, потому что я хотел бы, чтобы все обрабатывалось через мой JavaScript или мой iframe на той же странице.
<a href='https://www.seeLinkAbove.com' target='_blank'>Click here for new tab</a>