Привет! Я пытаюсь встроить рекламу GPT (теги публикации Google) в мое веб-приложение (которое работает нормально).Однако меня попросили убедиться, что клиент может редактировать и вносить изменения в HTML-скриптлеты GPT, просматривая изменения перед отправкой изменений.Моя проблема заключается в том, что когда я снова вставляю измененный рекламный HTML и сценарии обратно в DOM (для просмотра), рекламные сценарии больше не могут выполняться браузером (ошибка javascript).
Здравствуйте, я попытался посмотретьна следующих сайтах для справки: https://support.google.com/admanager#topic=7505988
А также пробуя различные вещи, упомянутые в справочнике API GPT, такие как опция destroySlots, например, чтобы я мог сбросить объект javascript googletag, чтобы заново вставить скрипт
https://developers.google.com/doubleclick-gpt/reference
Пожалуйста, просмотрите этот минимальный воспроизводимый пример того, чего я хочу достичь: https://codepen.io/angusgrant/pen/eawbLV
- Нажмите кнопку «Редактировать рекламу» (должно открыться диалоговое окно с вводом текстовой области)показ ввода HTML textarea с указанием источника HTML сценария рекламы.
- Нажмите кнопку «Просмотр». Обратите внимание, что реклама GPT больше не отображается / не отображается.
ЭтоHTML-код (скриптлет), который я загружаю при загрузке страницы и должен иметь возможность повторно вставить его обратно в DOM через JS:
<div id="addSlot1" style="height:600px; width:160px;">
<script>
googletag.cmd.push(function()
{
googletag.defineSlot('/1008130/Wide_Skyscrape', [160, 600], 'addSlot1')
.addService(googletag.pubads())
.setTargeting("Pub_code", "asnr");
googletag.enableServices();
googletag.display('addSlot1');
});
</script>
</div>
Я ожидаю, что реклама будет (все еще) отображаться (с любым изменением HTML, внесенным в текстовую область, отображаемую также на веб-странице).
Что я на самом деле испытываю, так это то, что рекламный код загружается в DOM, как и ожидалось (с точно таким же кодом HTML / Javascript), и браузер пытается отобразить изменения, но в инструментах разработчика появляется ошибка:
Exception in queued GPT command TypeError: Cannot read property 'addService' of null
, и объявление больше не отображается.

Пожалуйста, сообщите, как я переписываю HTML / скриптлет GPT, чтобызапускается при загрузке страницы и при повторной вставке обратно в DOM?