可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I've noticed that Google's remarketing code inserts an iframe at the bottom of my page. The problem is that the iframe messes up my layout (it's 13px high and leaves a blank white vertical space at the bottom).
I've tried to hide it with css but it's still visible in IE9:
iframe[name='google_conversion_frame'] {
height: 0 !important;
line-height: 0 !important;
font-size: 0 !important;
}
Therefore I've got two questions:
a) how to hide this iframe in IE9
b) most importantly - is it safe or can it somehow affect the functionality of this script?
回答1:
In my sites i use this code
iframe[name='google_conversion_frame'] {
height: 0 !important;
width: 0 !important;
line-height: 0 !important;
font-size: 0 !important;
margin-top: -13px;
float: left;
}
Floating the iframe allows you to use negative margin equal to the height of the body inside the iframe.
回答2:
Other way around (mentioned in the comments above) is to insert the conversion.js script tag into a hidden 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:
I had the same problem. The good solution was to add a line in the google remarketing tag.
var google_conversion_format = 3;
The tag before modification :
<!-- 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&guid=ON&script=0"/></div></noscript>
The tag after modification :
<!-- 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:
DO NOT USE THOSE OVERLY COMPLICATED ANSWERS. Simply use position:fixed;
on that element to take it out of the document flow.
Like this:
iframe[name="google_conversion_frame"]{
position:fixed;
}
That's it! You keep all original functionality AND you don't have to worry about API changes.
回答5:
Is there any downside to just setting the iframe to be absolute positioning.
iframe[name='google_conversion_frame'] {
position: absolute;
bottom: 0;
}
less code, no !important's and no display: none
回答6:
Here is my super simple minified solution:
/* Hide AdWords Remarketing iFrame */
iframe[name="google_conversion_frame"]{display:block; height:0;}
I tested and it works in Chrome, FireFox, and IE 10.
There are several ways to hide it of course, but why not have another option.
回答7:
iframe[name="google_conversion_frame"] {
height: 0;
padding: 0;
margin: 0;
display: block;
}
回答8:
I added "border: none;" as my site auto inserted a border that showed a colour even when collapsed.
/* Hide AdWords Remarketing iFrame */
iframe[name="google_conversion_frame"] {
height: 0;
padding: 0;
margin: 0;
border: none;
display: block;
}
回答9:
I just used css to set the height and width to zero. Wrapped the conversion.js file around a div with an id and set its child iframe width and height to 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>
You can set the style in the main css file.