Тег ремаркетинга Google - проблема с высотой iframe

Я заметил, что код ремаркетинга Google вставляет iframe в нижней части моей страницы. Проблема в том, что iframe испортил мой макет (он высотой 13 пикселей и оставляет пустое белое вертикальное пространство внизу).

Я попытался скрыть его с помощью css, но он все еще отображается в IE9:

iframe[name='google_conversion_frame'] { 
    height: 0 !important; 
    line-height: 0 !important; 
    font-size: 0 !important; 
}

Поэтому у меня есть два вопроса:

a) как скрыть этот iframe в IE9

b) самое главное - безопасно ли это или может каким-то образом повлиять на функциональность этого script?

Ответ 1

На моих сайтах я использую этот код

iframe[name='google_conversion_frame'] { 
    height: 0 !important;
    width: 0 !important; 
    line-height: 0 !important; 
    font-size: 0 !important;
    margin-top: -13px;
    float: left;
}

Плавающий iframe позволяет использовать отрицательный запас, равный высоте тела внутри iframe.

Ответ 2

Другой способ (упомянутый в комментариях выше) - вставить тэг conversion.js script в скрытый div:

<div style="display: none">
    <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">  </script>
</div>

src: http://keanrichmond.com/google-remarketing-messing-with-my-design.html

Ответ 3

У меня была та же проблема. Хорошим решением было добавить строку в тег ремаркетинга google.

    var google_conversion_format = 3;

Тег перед изменением:

<!-- Code Google de la balise de remarketing -->
<script type="text/javascript">/* 
<![CDATA[ */
var google_conversion_id = 10xxxxxxxx;
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>
<noscript><div style="display:inline;"><img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/10xxxxxxxx/?value=0&amp;guid=ON&amp;script=0"/></div></noscript>

Тег после модификации:

<!-- Code Google de la balise de remarketing -->
<script type="text/javascript">/* 
<![CDATA[ */
var google_conversion_id = 10xxxxxxxx;
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;

var google_conversion_format = 3; /* ADD THIS LINE TO RESOLVE YOUR PROBLEM */

/* ]]> */

     

Ответ 4

НЕ ИСПОЛЬЗУЙТЕ ТОЛЬКО ОСЛОЖНЕННЫЕ ОТВЕТЫ. Просто используйте position:fixed; для этого элемента, чтобы вынуть его из потока документов.

Вот так:

iframe[name="google_conversion_frame"]{
    position:fixed;
}

Что это! Вы сохраняете все оригинальные функции, и вам не нужно беспокоиться об изменениях API.

Ответ 5

Есть ли недостаток, чтобы просто установить iframe в абсолютное позиционирование.

iframe[name='google_conversion_frame'] {
    position: absolute;     
    bottom: 0;
}

меньше кода, нет! важно и нет отображения: none

Ответ 6

Вот мое очень простое мини-решение:

/* Hide AdWords Remarketing iFrame */
iframe[name="google_conversion_frame"]{display:block; height:0;}

Ответ 7

iframe[name="google_conversion_frame"] {
  height: 0;
  padding: 0;
  margin: 0;
  display: block;
}

Ответ 8

Я добавил "border: none"; поскольку мой сайт автоматически вставил границу, которая показывала цвет, даже когда он рухнул.

/* Hide AdWords Remarketing iFrame */
iframe[name="google_conversion_frame"] {
  height: 0;
  padding: 0;
  margin: 0;
  border: none;
  display: block;
}

Ответ 9

Я просто использовал css для установки высоты и ширины на ноль. Обернул файл conversion.js вокруг div с идентификатором и установил его дочернюю ширину и высоту iframe равным 0.

<div id="googleiframe">
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
</div>
<style type="text/css">
#googleiframe iframe{height:0;width:0;}
 </style>

Вы можете установить стиль в главном файле css.