判断iframe是否加载完成的完美方法
var iframe = document.createElement("iframe");
iframe.src = "http://www.jb51.net";
if (!/*@cc_on!@*/0) { //if not IE
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
} else {
iframe.onreadystatechange = function(){
if (iframe.readyState == "complete"){
alert("Local iframe is now loaded.");
}
};
}
document.body.appendChild(iframe);
最近, Nicholas C. Zakas 文章《Iframes, onload, and document.domain》的评论中 Christopher 提供了一个新的判断方法(很完美):
代码如下:
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);
几点补充说明:
IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。
第二种方法比第一种方法更完美,因为 readystatechange 事件相对于 load 事件有一些潜在的问题。
相关推荐
-
JQuery判断子iframe何时加载完成解决方案
项目中遇到场景:一个按钮要在子iframe加载完成之后才能被点击,这是就需要知道iframe何时加载完成,用JQuery很简单就能实现,代码如下: 复制代码 代码如下: var isOnLoad = true; youIFrame.attr("src", url); youIFrame.load(function() { isOnLoad = false;// 加载完成 alert('load success'); }); 已验证通过!
-
js下判断 iframe 是否加载完成的完美方法
采用的方法很类似: 复制代码 代码如下: var iframe = document.createElement("iframe"); iframe.src = "http://www.jb51.net"; if (!/*@cc_on!@*/0) { //if not IE iframe.onload = function(){ alert("Local iframe is now loaded."); }; } else { iframe.on
-
动态加载iframe
服务器端生成 <% if ..... then response.write "<iframe name=frame1 src=xxx.html width=0 height=0>" end if if ..... then response.write "<iframe name=frame2 src=xxx.html width=0 height=0>" end if %> 客户端生成 <div id=div1>&
-
实现iframe延时加载
问题已经解决了,和各位分享代码: window.onload = function() { frames["BiframeName"].location.href = "B.htm"; } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
-
判断iframe是否加载完成的完美方法
复制代码 代码如下: var iframe = document.createElement("iframe"); iframe.src = "http://www.jb51.net"; if (!/*@cc_on!@*/0) { //if not IE iframe.onload = function(){ alert("Local iframe is now loaded."); }; } else { iframe.onreadystate
-
基于JS判断iframe是否加载成功的方法(多种浏览器)
推荐阅读: JS iFrame加载慢怎么解决 在项目中经常要动态添加iframe,然后再对添加的iframe进行相关操作,而往往iframe还没添加完呢,后边的代码就已经执行完了,所以有些你写的东西根本没有显示出来.这时,我们就要考虑是否可以等iframe加载完后再执行后边的操作,当然,各种浏览器早就为我们考虑到啦,看下面: ie浏览器 IE的每个elem节点都会拥有一个onreadystatechange事件,这个事件每次在elem内容发送变化的时候触发,比如内容正在载入loading会触发,
-
JS判断iframe是否加载完成的方法
本文实例讲述了JS判断iframe是否加载完成的方法.分享给大家供大家参考,具体如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content=&qu
-
IE及IE6浏览器中判断JS文件加载成功失败的方法
浏览器的文件加载实际上是有非常纠结的兼容问题的.最近看到@lifesinger做了一个具体的总结.这里比较麻烦的是IE6~8不区分加载成功或失败,都走一个回调.在网上看了一种解决方案是,在加载文件的最后置一个全局变量或改变标签的属性来区分,这样成功与否就通过这个标志位判断.但显然不太完美,还要改加载文件. 后来尝试另一种思路,先创建一个vbscript,src置成一个JS文件,如这个文件加载正常,肯定会报错否则不会有反应.这样如果window.onerror捕获到错误了,说明文件有效,再正常加载
-
js检测iframe是否加载完成的方法
本文实例讲述了js检测iframe是否加载完成的方法.分享给大家供大家参考,具体如下: 这里是继上一篇<js实现iframe框架取值的方法(兼容IE,firefox,chrome等)>的扩展应用: 应用场景:iframe个人感觉最独特的应用之一就是配合P3P协议可以实现跨域写入cookie(好象除此之外,还没找到更有效的办法),但是有时候我们不知道这个iframe页面是否执行完毕,有没有办法判断iframe里的页面是否load完成了呢? iframe1.html: <html> &
-
JavaScript实现判断图片是否加载完成的3种方法整理
有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明. onload方法 通过向img标签添加onload属性,并填入相应的函数来执行后续的javascipt代码.如下代码例子中img元素默认是不显示的,通过onload判断加载完成后再将图片显示出来. 复制代码 代码如下: <img class=
-
js 判断图片是否加载完以及实现图片的预下载
创建一个Image对象,实现图片的预下载,如果图片已经存在于浏览器缓存,直接调用回调函数,使用onload事件可以判断图片是否加载完成 function loadImage(url, callback) { var img = new Image(); //创建一个Image对象,实现图片的预下载 img.src = url; if(img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数 callback.call(img); return; // 直接返回,不用再
-
怎么判断js脚本加载完成
在"按需加载"的需求中,我们经常会判断当脚本加载完成时,返回一个回调函数,那如何去判断脚本的加载完成呢? 我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法 Firefox2.Firefox3.Safari3.1+.Opera9.6+ 浏览器都能很好的支持,但 IE6.IE7 却不支持.曲线救国 -- IE6.IE7 我们可以使用 js.onreadystatechange 来跟踪每个状态变化的情况(一般为 loading .loaded.intera
随机推荐
- javascript面向对象入门基础详细介绍
- PHP入门学习笔记之一
- 正则表达式提取网址、标题、图片等一例(.Net Asp Javascript/Js)的实现
- ASP 三层架构 Error处理类
- 基于Unity容器中的对象生存期管理分析
- 安装配置php-fpm来搭建Nginx+PHP的生产环境
- javascript实现页面滚屏效果
- 关于JSP的一点疑问小结
- jsp地址栏传中文显示乱码解决方法分享
- 计算字符串的长度的多种解决方案集锦
- Linux下重新启动Tomcat的步骤详解
- MSSQL汉字转拼音函数实现语句
- Bootstrap图片轮播组件Carousel使用方法详解
- C++中实现队列类链式存储与栈类链式存储的代码示例
- ASP文章系统解决方案实现上一页下一页第1/2页
- Android 圆角 ImageView类可设置弧度(代码简单)
- Spring Boot使用profile如何配置不同环境的配置文件
- python将视频转换为全字符视频
- ssm开发使用redis作为缓存的使用步骤
- python集合是否可变总结