在html页面中,只有body,img,iframe这一类标签具有onload事件。

onload事件表示在当前元素载入完成后发生的事件。其中,window也有onload事件,但是跟body的是同一事件,如果页面上对两者都定义了该事件,只会响应一个。

iframe上的事件在ie6下有一些bug:

1.iframe的onload事件跟window.onload事件只能二者取其一,似乎ie把它看作同一个事件了!例如:

window.onload=function(){

    alert("window loaded");

}

var oIframe = document.getElementById("iframe");

oIframe .onload=function(){

    alert("iframe loaded");

}

这段代码只能响应iframe的事件,如果window.onload事件定义在后则只响应window的onload事件!

但是如果在iframe标签中定义响应方法则不会发生这种情况:

<iframe src=child.html" onload="alert('iframe loaded')"></iframe>

  这样的代码则能正确执行,window和iframe的onload事件均能正常响应。

  用addEventListener的方式绑定的iframe事件也可以正常运行

 如果是在js中定义的iframe的onload事件,则只有在iframe第一次加载时响应,以后更改iframe的src加载别的页面时都不会再响应了。

  这似乎证明了在js中定义iframe的onload事件实际上定义的是window的onload事件,这样才能解释为何window的事件被覆盖了,

并且只响应一次,因为window确实只加载一次。在Firefox和Chrome中则没有这个问题。

window/body/img/iframe 的onload事件的更多相关文章

  1. iframe之onload事件小记

    项目上做了一个具有wizard(向导)功能的菜单导航页面,子页面的引入通过主页面上iframe的src属性切换实现.为了有个良好的交互体验,每次更新iframe的src时,主页面上都显示一个模态的lo ...

  2. 关于IFRAME的onload事件

    昨天遇到一个关于iframe的问题,比如a页面中嵌入了一个iframe称为a_iframe,如果直接在a_iframe的标签上直接加入属性的设置,onload=’’,这样才onload事件才是起作用的 ...

  3. 【HTML】Iframe中的onload事件

    当iframe.src重新指定一个url时会重新执行iframe的onload事件 <iframe id="indexFrame" name="index" ...

  4. IE IE8 iframe的onload方法分析 IE浏览器onload事件失效

    判断iframe是否加载完成的完美方法 IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册. 第二种方法比第一种方法更完美(采用readystat ...

  5. iframe 动态onload事件处理方式

    转自:http://w3help.org/zh-cn/causes/SD9022 标准参考 关于 HTML 4.01 规范中 BODY 标记的 onload 属性说明: http://www.w3.o ...

  6. jquery load()函数和window.onload事件

    我想用jquery load()一个饼状图页面, 但是load不出来 代码如下: 后来百度了一下,解决办法如下: window.onload事件只有在文档载入的时候才会执行的,你载入子页面不会触发这个 ...

  7. 解决Chrome Safari Opera环境下 动态创建iframe onload事件同步执行

    我们先看下面的代码: setTimeout(function(){ alert(count); },2000); var count = []; document.body.appendChild(c ...

  8. iframe onload事件触发两次

    标准参考 关于 HTML 4.01 规范中 onload 内在事件说明:http://www.w3.org/TR/html401/interact/scripts.html#adef-onload 关 ...

  9. $(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法

    $(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法接触JQuery一般最先学到的是何时启动事件.在曾经很长一段时间里,在页面载入后引发的事件 ...

随机推荐

  1. webstrom 应用 转(http://blog.csdn.net/zghekuiwu/article/details/54382145)

    WebStorm 是 JetBrains 推出的一款商业的 JavaScript 开发工具 任何一个编辑器都需要保存(ctrl + s),这是所有win平台上编辑类软件的特点,但是webstorm编辑 ...

  2. 各种常用的CDN加速服务

    各种CDN加速网址:点击此处 1.Echar <script type="text/javascript" src="http://echarts.baidu.co ...

  3. 为什么阿里巴巴不建议在for循环中使用"+"进行字符串拼接

    字符串,是Java中最常用的一个数据类型了.关于字符串的知识,作者已经发表过几篇文章介绍过很多,如: Java 7 源码学习系列(一)--String 该如何创建字符串,使用" " ...

  4. 开源大数据引擎:Greenplum 数据库架构分析

    Greenplum 数据库是最先进的分布式开源数据库技术,主要用来处理大规模的数据分析任务,包括数据仓库.商务智能(OLAP)和数据挖掘等.自2015年10月正式开源以来,受到国内外业内人士的广泛关注 ...

  5. asm 与 cglib(整理的)

    参考博客地址 http://www.oseye.net/user/kevin/blog/304#top http://www.blogjava.net/vanadies10/archive/2011/ ...

  6. python 基础 1.3 使用pycharm给python传递参数及pycharm调试模式

    一.通过pycharm 给python传递函数 1. 在pycharm终端中写入要获取的参数,进行获取 1>启动pycharm 中Terminal(终端) 窗口 点击pycharm左下角的图标, ...

  7. 【BZOJ3435】[Wc2014]紫荆花之恋 替罪点分树+SBT

    [BZOJ3435][Wc2014]紫荆花之恋 Description 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从 ...

  8. shell实现mysql热备份

    #!/bin/bash #my.hc.sh PATH=/usr/local/sbin:/usr/bin:/bin BACKDIR = /backup/mysql ROOTPASS = ******** ...

  9. Django框架打印orm转换过程中的sql_模型层

    LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBU ...

  10. No provisioned iOS devices are available with a compatible iOS version. Connect an iOS device with a

    No provisioned iOS devices are available with a compatible iOS version. Connect an iOS device with a ...