【发布时间】:2013-08-19 01:45:51
【问题描述】:
我的网页上有一个广告单元,它只是一个 iframe。当页面加载时,可以在 iframe 中显示几个不同的广告。 iframe 中有一段 javascript 尝试使用以下方法呈现第一个广告单元:
document.open();
document.write(ad_tag1);
document.close();
第一个广告单元会以某种概率呈现广告,否则它会向广告单元 iframe 触发 postmessage 事件,指示没有广告可展示。
如果有广告要展示,一切都很好。但是,如果没有,广告单元将继续执行:
document.open();
document.write(ad_tag2);
document.close();
这会使第二个广告代码正常呈现。但是,问题在于 Firefox 似乎无法检测到第二个广告单元何时加载,即使它显然已经加载,并且页面顶部的微调器一直在旋转,好像还有东西要加载一样。
我也尝试过使用诸如 innerHTML 之类的 DOM 操作方法,但这产生了同样的问题。我也尝试使用 Prototype JS 的内置更新方法,但这也导致了同样的问题。
有人知道为什么 Firefox 会这样做吗?我的代码在 chrome 上完美运行..
另外,我无法控制广告代码是什么。广告标签是第三方的,在我看来也可能是黑盒子,因为广告标签中可能包含脚本,可能会删除 iframe 等。
【问题讨论】:
标签: javascript html firefox iframe