Google发布标签允许客户编辑更新广告

时间:2019-06-07 15:38:37

标签: javascript single-page-application double-click-advertising gpt

嗨,我正在尝试将GPT(Google发布标签)广告嵌入到我的网络应用程序中(效果很好)。但是,我被要求确保客户端可以编辑和修改GPT HTML脚本,并在实时发送更改之前检查更改。我的问题是,当我将修改后的广告HTML和脚本重新插入到DOM中(以供查看)时,广告脚本不再能够被浏览器执行(javascript错误)。

您好,我尝试通过以下网站寻求帮助:https://support.google.com/admanager#topic=7505988

除了尝试GPT API参考中提到的各种操作(例如destroySlots选项)之外,我还可以重置googletag javascript对象以重新插入脚本
https://developers.google.com/doubleclick-gpt/reference

请查看以下我想实现的最小可复制示例: https://codepen.io/angusgrant/pen/eawbLV

  1. 单击“编辑广告”按钮(打开的对话框窗口将显示一个textarea输入,其中显示一个HTML textarea输入,并显示广告脚本的HTML源。
  2. 单击“预览”按钮。请注意,GPT广告不再显示/呈现。

这是我正在页面加载时加载的HTML(脚本),需要能够通过JS重新插入DOM:

<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所做的任何修改也将在网页中呈现)。

我实际遇到的是,广告代码已按预期方式(使用完全相同的HTML / Javascript代码)加载到DOM中,并且浏览器尝试呈现更改,但在开发人员工具中出现错误:

Exception in queued GPT command TypeError: Cannot read property 'addService' of null

并且广告不再呈现。

enter image description here

请告知我如何重新编写GPT HTML / scriptlet,以便它在页面加载时以及重新插入DOM时运行?

0 个答案:

没有答案