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.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://sc.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 事件有一些潜在的问题。
相关推荐
-
js中iframe调用父页面的方法
本文实例讲述了js中iframe调用父页面的方法.分享给大家供大家参考.具体实现方法如下: 子页面调用父页面的方法在js中很容易实现.我们只需要在主页面加个函数,然后在子页面通过window.parent.方法()即可实现了 比如调用a()函数,就写成: 复制代码 代码如下: window.parent.a(); 但是我在chrome浏览器下却发现此方法无效了 复制代码 代码如下: //在父页面中调用该函数 <script> function dey() { var cards_frame=d
-
js实现iframe动态调整高度的代码
复制代码 代码如下: function SetWinHeight(obj) { var win=obj; if (document.getElementById) { if (win && !window.opera) { if (win.contentDocument && win.contentDocument.body.offsetHeight) win.height = win.contentDocument.body.offset
-
js实现网页防止被iframe框架嵌套及几种location.href的区别
首先我们了解一下:window.location.href.location.href.self.location.href.parent.location.href.top.location.href他们的区别与联系,简单的说:几种location.href的区别 js实现网页被iframe框架功能 "window.location.href"."location.href"."self.location.href"是本页面跳转 "p
-
js iframe跨域访问(同主域/非同主域)分别深入介绍
js跨域是个讨论很多的话题.iframe跨域访问也被研究的很透了. 一般分两种情况: 一. 是同主域下面,不同子域之间的跨域: 同主域,不同子域跨域,设置相同的document.domian就可以解决; 父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容:如果支持contentDocument也可以直接document.getElementById("myframe&
-
iframe子父页面调用js函数示例
1.iframe子页面调用父页面js函数 子页面调用父页面函数只需要写上window.praent就可以了.比如调用a()函数,就写成: 复制代码 代码如下: window.parent.a(); 子页面取父页面中的标签中的值,比如该标签的id为"test",则: 复制代码 代码如下: window.parent.document.getElementById("test").value; jQuery方法为: $(window.parent.document).c
-
js操作iframe的一些方法介绍
1. 获得iframe的window对象存在跨域访问限制. chrome:iframeElement. contentWindowfirefox: iframeElement.contentWindowie6:iframeElement.contentWindow 文章Iframes, onload, and document.domain中说"he iframe element object has a property called contentDocument that contains
-
JS实现向iframe中表单传值的方法
本文实例讲述了JS实现向iframe中表单传值的方法.分享给大家供大家参考,具体如下: 给iframe加contentWindow属性后,才能赋值,在IE,firefox测试一切ok. 例如: 页面a.jsp <script language="JavaScript"> function ExecuteSql() { var FormObj = document.getElementById("ResultShowFrame").contentWindo
-
jquery ajax提交表单从action传值到jsp实现小结
jsp页面: 复制代码 代码如下: var clientTel = $("#clientTel").val(); var activityId = $("#activityId").val(); $.ajax({ type : "post",//发送方式 url : "/arweb/reserve/saveCode.action",// 路径 data : "clientTel="+clientTel+&q
-
js与jQuery 获取父窗、子窗的iframe
在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素.或者在iframe框架中使用父窗口的元素 js 在父窗口中获取iframe中的元素 1. 格式:window.frames["iframe的name值"].document.getElementByIdx_x("iframe中控件的ID").click(); 实例:window.frames["ifm"].document.getElementByIdx_x
-
JavaScript实现同一页面内两个表单互相传值的方法
本文实例讲述了JavaScript实现同一页面内两个表单互相传值的方法.分享给大家供大家参考.具体如下: 有时候我们在提交表单的时候需要将两个表单的值互相传递,那么如何实现呢?其实很简单,就是用JavaScrip获取任一表单的值,然后赋给另一个,具体可看代码,代码很有意思,也很实用. 运行效果截图如下: 具体代码如下: <html> <head> <title>JavaScript同一页面两个表单互相传值</title> <meta http-equi
-
js动态创建上传表单通过iframe模拟Ajax实现无刷新
复制代码 代码如下: <script> window.onload=function(){ upfile('file.php'); } /* ** url 路径 **/ function upfile(url){ //创建iframe var iframe = document.createElement("iframe"); document.body.appendChild(iframe); iframe.id = 'iframeName'; iframe.name =
-
JS中Iframe之间传值及子页面与父页面应用
在js中,我们时常用到用iframe做系统框架,在子页面也,父页面之间的值传递是一个问题,下面是js获取父窗体和子窗体的对象js: 1.在iframe子页面中获取父页面的元素: a>window.parent.document这个是获取父页面document中的对象: b>如果要获取父页面js中的方法:window.parent.xxxx():xxxx()为方法: 2.在父页面中获取iframe子页面中的元素: a> 复制代码 代码如下: var child = document.get
随机推荐
- 学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
- JS打开新窗口的2种方式
- 如何判断电子邮件的地址格式是否正确?
- Vue 2.0入门基础知识之内部指令详解
- 使用 Iisftpdr.vbs 删除FTP虚拟目录(支持本地与远程)
- Java输入输出流的使用详细介绍
- php json中文编码为null的解决办法
- PHP mail()函数使用及配置方法
- C#命令行编译器配置方法
- JavaScript 判断一个对象{}是否为空对象的简单方法
- 仿当当网淘宝网等主流电子商务网站商品分类导航菜单
- jquery 判断是否支持Placeholder属性的方法
- js键盘事件的keyCode
- 我想将一台服务器上的所有主机都延长到期时间一周
- 用Python计算三角函数之acos()方法的使用
- C语言变长数组 struct中char data[0]的用法详解
- RandomId生成随机字符串详解实例
- c# 深拷贝与浅拷贝的区别分析及实例
- 在VS2008中编译MYSQL5.1.48的方法
- PHP会话操作之cookie用法分析