Firefox未检测到iframe加载事件
Firefox not detecting iframe load event?
我的页面上有一个广告单元,它只是一个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等。
我以前见过很多次。它几乎总是由写入文档的格式错误的HTML或不完整的HTML引起的。考虑:
<html>
<div id="myadd2">
<p>Some stuff<p>
</div>
不存在闭合</p>
,也不存在闭合的<html>
标记。这可能会导致Firefox认为文档仍在加载中。直到它从服务器接收到EOF(关闭连接),或者看到关闭的HTML标记和格式良好的HTML块,它才会完成。
第二次添加可能包含不匹配的引号、未终止的html标记或不匹配的标记。通过xmllint --html
运行HTML内容,看看它对它的看法。
相关文章:
- 召回窗口加载事件 - javascript
- 仅加载事件序列
- cookie加载事件页面重定向
- 正在捕获动态更改其源的图像的加载事件
- 如何从vb.net中的页面加载事件中调用特定的javascript函数
- 在iframe中加载pdf时,iframe未触发加载事件
- 点击加载事件按钮
- jQuery-将加载事件附加到动态加载的元素
- 不;t使用ajax在fullcalender.js中加载事件数据
- 加载事件中的“太多递归”
- 每10秒调用一次页面加载事件
- jQuery"该参考文献“;加载事件后未设置
- ASP网格视图的重新加载事件
- 在点击和加载事件时播放暂停背景音频
- 引导模式加载事件
- 页面中的条件在卸载之前加载事件
- 如何在 asp.net 中的页面加载事件之前调用 JavaScript 确认对话框
- 位置.重新加载事件触发按钮单击事件
- iframe 加载事件中的 setTimeout 似乎没有像预期的那样等待 x 秒
- 图像加载事件未触发