Могу ли я получить текущий HTML-код с боковой панели в файле кода скрипта Google Apps?

Я пишу скрипт Google Apps (надстройка листа) и хочу вернуть HTML-код отображаемой в данный момент боковой панели серверному скрипту. Причина в том, что я создаю систему на основе шаблонов, в которой HTML-код боковой панели может быть получен из ряда возможных шаблонов, но все шаблоны имеют одну и ту же функцию обратного вызова на сервер, чтобы упростить их написание. Таким образом, общая функция обратного вызова на стороне сервера должна иметь возможность определять, из какого HTML она была вызвана.

Есть какой-либо способ сделать это?


person askvictor    schedule 13.06.2018    source источник
comment
Если я правильно понимаю, как насчет использования XMLSerializer?   -  person Tanaike    schedule 13.06.2018
comment
Почему вашей серверной функции необходимо знать структуру на стороне клиента - передайте соответствующую информацию (например, HTMLElement) в качестве пользовательского объекта, чтобы обработчик успеха на стороне клиента знал, откуда возник запрос.   -  person tehhowch    schedule 13.06.2018


Ответы (1)


Вам действительно нужен весь HTML? Или достаточно информации, чтобы узнать, какой шаблон был использован? Когда вы изначально загружаете шаблоны, вы можете сохранить некоторые метаданные о том, какой шаблон использовался, например, в элементе HTML. Что-то вроде <...data-template-type="template 7">

Когда вы делаете вызов серверу, возьмите эту информацию из HTML-элемента и предоставьте ее в качестве аргумента.

Надеюсь, я понял вопрос и то, что вы пытаетесь сделать.

person e__n    schedule 13.06.2018
comment
Да, я думаю, это могло бы помочь; Я попробую. На самом деле мне не нужен полный html - если я могу сказать, какой шаблон использовался, я могу извлечь html из него на стороне сервера. - person askvictor; 13.06.2018
comment
Хм; функция addMetaTag (developers.google.com /apps-script/reference/html/ ) не работает, так как он ограничен парой специальных метатегов. Я думаю, я мог бы добавить его непосредственно в HTML и проанализировать его на стороне клиента или попытаться добавить его в качестве аргумента в тег ‹input› на стороне сервера. - person askvictor; 13.06.2018