IE iframe的onload方法分析小结_javascript技巧

判断iframe是否加载完成的完美方法
IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。
第二种方法比第一种方法更完美(采用readystatechange判断),因为 readystatechange 事件相对于 load 事件有一些潜在的问题。

这里感觉说的并不是完全准确,开始给我造成了很大的困扰。看其代码才明白,真正意义上来讲IE在创建一个新的iframe时的onload方法需要使用attachEvent来绑定,而原来就存在的iframe的onload方法,则可以直接绑定。

说的有些乱,大家看代码,一看便知:

复制代码 代码如下:

<iframe id='google'></iframe>
<script type='text/javascript'>
document.getElementById('google').src='http://jb51.net/';
document.getElementById('google').onload = function(){
alert ('I am google frame, now loaded');
}
</script>

在这里,也把原文提到的”判断 iframe 是否加载完成的完美方法”原文摘录至此

复制代码 代码如下:

var iframe = document.createElement("iframe");
iframe.src = "http://www.jb51.net";

if (iframe.attachEvent){
iframe.attachEvent("onload", function(){
alert("Local iframe is now loaded.");
});
} else {
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
}

document.body.appendChild(iframe);

时间: 2024-09-12 05:17:22

IE iframe的onload方法分析小结_javascript技巧的相关文章

javascript设置文本框光标的方法实例小结_javascript技巧

本文实例总结了javascript设置文本框光标的方法.分享给大家供大家参考,具体如下: 对于text //得到光标位置 function getCaret(textbox) { var control = document.activeElement; textbox.focus(); var rang = document.selection.createRange(); rang.setEndPoint("StartToStart",textbox.createTextRange

JavaScript中将一个值转换为字符串的方法分析[译]_javascript技巧

译者注:前两天在看ES5的时候顺便出了一道题,今天看到这篇文章,刚好解释的很清楚,就翻译了一下.在JavaScript中,主要有三种方法能让任意值转换为字符串.本文讲解了每种方法以及各自的优缺点. 1.转换字符串的三种方法 这三种将value转换为字符串的方法是: 1.value.toString() 2."" + value 3.String(value) 第一种方法存在的问题是,它不能把null和undefined转换为字符串.还有第二种和第三种方法,这两种方法的效果基本一样. •

JS防止网页被嵌入iframe框架的方法分析_javascript技巧

本文实例讲述了JS防止网页被嵌入iframe框架的方法.分享给大家供大家参考,具体如下: 例如: <script type="text/javascript"> if (window!=top) // 判断当前的window对象是否是top对象 top.location.href = window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址 </script> 这段代码是有效的.但是,有一个问题:使用后,任何人都无法

Script的加载方法小结_javascript技巧

1.静态加载 CSS,图片资源文件在页面渲染过程中可以并行下载,不会阻塞.在IE8,FF下,也可以支持JS的并行下载.尽管页面的JS下载加速了,但是JS对页面渲染的阻塞还是依然存在的,只有JS加载完毕了,页面的剩余部分才能继续渲染.放在Head部分的Script是最为恶劣的,因为对页面来说,Head部分是require的,是后部分所必须的,Head部分不加载完毕,Body部分不会开始解析,Body解析之前,页面是空白的.静态Script放到页面的哪部分来说都是阻塞,从浏览器实现的角度来说很好理解

JavaScript常用数组算法小结_javascript技巧

今天抽点时间把javascript中的一些常用的数组算法做一下总结,以方便大家面试笔试或者日常开发过程中用到.其中部分算法来自网络,这里做了下汇总整理.文章末尾我会把参考的来源附上去,如果直接看算法比较枯燥的可以到参考文献里去看,讲解的非常不错. 一.数组去重 方法1: //利用数组的indexOf方法 function unique (arr) { var result = []; for (var i = 0; i < arr.length; i++) { if (result.indexO

解析javascript图片懒加载与预加载的分析总结_javascript技巧

本篇文章主要介绍了懒加载和预加载两种技术的解析,废话不多说,一起来看吧. 懒加载也叫延迟加载:前一篇文章有介绍:JS图片延迟加载 延迟加载图片或符合某些条件时才加载某些图片. 预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染. 两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载.懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力. 懒加载的意义及实现方式有: 意义: 懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数. 实现方式:

jquery $(document).ready()和window.onload的区别浅析_javascript技巧

Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间         window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.         $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2.编写个数不同          window.onload不能同时编写多个,如果有多个window.onl

JavaScript函数定义的常见注意事项小结_javascript技巧

本文就javascript函数定义的常见问题进行了总结.包含了初学者常犯的错误.分享给大家供大家参考.具体总结如下: 1. 函数声明的同时JS引擎还定义了一个与函数名同名的变量,我们在调用这个函数的时候实际上是在使用这个变量,且它可以在函数声明之前调用,例如 foo(); //这里实际上是使用了一函数变量 function foo() { alert('hello'); } 2. 函数表达式,此时将匿名函数赋值给了一变量,此变量需在定义后使用,例如 foo(); //报错,未定义 var foo

javascript图片延迟加载实现方法及思路_javascript技巧

本文实例为大家介绍了如何通过javascript来延迟加载图片,分享给大家供大家参考,具体内容如下 当一个网页中含有大量图片时,如果一开始就将图片全部加载完毕,势必会引起性能和效率上的问题,用户可能会由于等待时间过久而离开. 这个时候,我们需要利用懒加载,也就是延迟加载图片的方式,来提高网站的亲和力. 一.延迟加载图片 基本思路如下: 给需要延迟加载的图片设置自定义属性比如lazy-src,存在图片源所在路径.然后将所有需要懒加载的图片放入一个数组,在window.onscroll的时候判断该数