Iframe 双击发布者(DFP):使用异步GPT提供可扩展广告

Iframe 双击发布者(DFP):使用异步GPT提供可扩展广告,iframe,asynchronous,google-dfp,rich-media,Iframe,Asynchronous,Google Dfp,Rich Media,我正在使用一个异步GPT来为我的可扩展广告提供服务,但是由于异步标记似乎不是友好的iFrame,所以创意被切断了 我使用DOM函数来转义iframe父对象,但我认为我不能,因为创造性是在呈现页面之前呈现的 这是我的标签样本 <script type='text/javascript' src='http://www.googletagservices.com/tag/js/gpt.js'> googletag.pubads().definePassback('6917646/

我正在使用一个异步GPT来为我的可扩展广告提供服务,但是由于异步标记似乎不是友好的iFrame,所以创意被切断了

我使用DOM函数来转义iframe父对象,但我认为我不能,因为创造性是在呈现页面之前呈现的

这是我的标签样本

<script type='text/javascript' src='http://www.googletagservices.com/tag/js/gpt.js'>
    googletag.pubads().definePassback('6917646/H24info/H24INFO_ATF_HOME_728x90', [[728,90]]).setClickUrl('[INSERT_CLICK_COUNTER_HERE]').display();

    googletag.pubads().enableSingleRequest(); 
    googletag.pubads().addEventListener('slotRenderEnded', function(event) {

        var sas = document.getElementById("sas_format_33008");

        var gpt = document.getElementById("gpt_unit_6917646/H24info/H24INFO_ATF_HOME_728x90_1_ad_container");

        gpt.style.position = "absolute";
        gpt.style.zIndex = "100";

        sas.style.height = "90px";
    });
    googletag.enableServices();
</script>

googletag.pubads().definePassback('6917646/H24info/H24info_ATF_HOME_728x90',[[728,90]])。setClickUrl('[INSERT_CLICK_COUNTER_HERE]')。display();
googletag.pubads().enableSingleRequest();
googletag.pubads().addEventListener('Slotrendereded',函数(事件){
var sas=document.getElementById(“sas_格式_33008”);
var gpt=document.getElementById(“gpt单元号6917646/H24info/H24info单元号ATF单元号728x90单元号ad容器”);
gpt.style.position=“绝对”;
gpt.style.zIndex=“100”;
sas.style.height=“90px”;
});
googletag.enableServices();

有人能帮我吗?

您需要使用iframe buster

您可以尝试下面的代码。请记住,您需要取消选中创造性设置中的“服务到安全框架”配置。创意的类型必须是自定义、第三方或模板)

if(top==self){
// 
}否则{
var parentIframes=top.document.querySelectorAll('iframe');
for(var i=0;i
更多信息:

更多帮助:


    • 另一种选择是使用Post消息。但是您需要在主站点中放置一个事件侦听器。 大概是这样的:

          <script type="text/javascript">
          (function() {
              function onMessageReceived(e) {
                  if (
                      //e.origin !== 'http://tpc.googlesyndication.com' ||
                      typeof e.data !== 'object' ||
                      typeof e.data.id !== 'string' ||
                      e.data.cmd !== 'setStyle' ||
                      typeof e.data.params !== 'object'
                  ) {
                      return;
                  }
      
                  var frame = document.getElementById(e.data.id);
      
                  if (frame === null) {
                      return;
                  }
      
                  Object.keys(e.data.params).forEach(function(param) {
                      frame.style[param] = e.data.params[param];
                  });
              }
      
              if (window.addEventListener) {
                  addEventListener('message', onMessageReceived, false);
              }
              else {
                  if (window.attachEvent) {
                      attachEvent('onmessage', onMessageReceived);
                  }
                  else {
                      window.onmessage = onMessageReceived;
                  }
              }
          })();
      </script>
      
      
      (功能(){
      函数onMessageReceived(e){
      如果(
      //e、 原点!=='http://tpc.googlesyndication.com' ||
      e.data的类型!==“对象”||
      e.data.id的类型!==“字符串”||
      e、 data.cmd!=“setStyle”||
      e.data.params的类型!==“对象”
      ) {
      返回;
      }
      var frame=document.getElementById(e.data.id);
      如果(帧===null){
      返回;
      }
      Object.key(e.data.params).forEach(function(param){
      frame.style[param]=e.data.params[param];
      });
      }
      if(window.addEventListener){
      addEventListener(“消息”,onMessageReceived,false);
      }
      否则{
      如果(窗口附件){
      attachEvent(“onmessage”,onMessageReceived);
      }
      否则{
      window.onmessage=onMessageReceived;
      }
      }
      })();
      
      然后在创造性代码中,您必须调用事件侦听器来调整需要扩展的元素的大小。例如:

      <script>
      (function(){
          if (window.top.postMessage) {
              window.top.postMessage({
                  cmd: 'setStyle',
                  id: 'div-of-the-banner',
                  params: {
                      display: 'block',
                      height: '600px',
                      width: '300px'
                  }
              }, '*');
          }
      })();
      </script>
      
      
      (功能(){
      if(window.top.postMessage){
      window.top.postMessage({
      cmd:'setStyle',
      id:“横幅的div”,
      参数:{
      显示:“块”,
      高度:“600px”,
      宽度:“300px”
      }
      }, '*');
      }
      })();
      

      如果有多个元素实际固定了您的创意大小,您可能需要多次调用此调整大小脚本。

      不幸的是,没有用于GPT标记的iFrame Buster(仅适用于DART标记)。
      <script>
      (function(){
          if (window.top.postMessage) {
              window.top.postMessage({
                  cmd: 'setStyle',
                  id: 'div-of-the-banner',
                  params: {
                      display: 'block',
                      height: '600px',
                      width: '300px'
                  }
              }, '*');
          }
      })();
      </script>