作为我正在开展的项目的一部分,我需要在<iframe>
内加载AdMeld广告(主要广告网络)。由于复杂的跨浏览器限制,我无法直接调用add。
这是一个非常简单的页面,可以加载我们的广告位之一,其中包含旋转的广告素材:
http://troy.onespot.com/static/stack_overflow/4949/iframe.html
我可以整天加载此页面,广告总是按预期显示 - 我在页面上包含的唯一样式是:
* {
margin: 0;
padding: 0;
}
这会删除<body>
元素上的任何边距和填充,因此广告会在视口的左上方对接。
此页面更准确地模拟了我在项目中加载广告的方式:
http://troy.onespot.com/static/stack_overflow/4949/test.html
它包含加载前一页的<iframe>
,以及上面相同的基本样式,以删除边距和填充。通常,此页面的渲染输出与第一个示例中的完全相同。
然而,在Internet Explorer 6&amp; 7和Opera 10(我到目前为止观察到的唯一浏览器),偶尔(如每5-30次页面加载大约1次),广告上方还有一个额外的差距:
http://skitch.com/troywarr/d4pbg/ad-example
由于这些浏览器具有相对糟糕的开发人员工具 - 或者至少我无法弄清楚如何有效地使用它们 - 我没有找到任何有关可能发生的事情的线索。似乎没有任何明显的模式,例如始终显示问题的特定广告创意,或者导致这种模式一致发生的导航方法。
可能导致这种情况的原因,我该怎么做才能阻止它?我在显示广告的页面上尝试了其他样式,包括:
* {
position: fixed;
}
虽然这似乎可以缓解这个问题,但它也打破了部分广告素材的布局。我对所出现的广告素材没有任何控制权,因此我可能无法依赖任何影响广告的任何影响深远的广告;我也无法预测广告素材中可能出现哪些元素以预防性地设置它们。
提前感谢您的帮助!
答案 0 :(得分:0)
在iFrame上试试这个:
<iframe src="iframe.html?sfgate_btf" frameborder="0" scrolling="no" width="300" height="250" marginheight="0" marginwidth="0" scrolling="no" hspace="0" vspace="0"></iframe>