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框架嵌套及几种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模拟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中表单传值的方法.分享给大家供大家参考,具体如下: 给iframe加contentWindow属性后,才能赋值,在IE,firefox测试一切ok. 例如: 页面a.jsp <script language="JavaScript"> function ExecuteSql() { var FormObj = document.getElementById("ResultShowFrame").contentWindo
-
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跨域访问也被研究的很透了. 一般分两种情况: 一. 是同主域下面,不同子域之间的跨域: 同主域,不同子域跨域,设置相同的document.domian就可以解决; 父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容:如果支持contentDocument也可以直接document.getElementById("myframe&
-
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
-
js中iframe调用父页面的方法
本文实例讲述了js中iframe调用父页面的方法.分享给大家供大家参考.具体实现方法如下: 子页面调用父页面的方法在js中很容易实现.我们只需要在主页面加个函数,然后在子页面通过window.parent.方法()即可实现了 比如调用a()函数,就写成: 复制代码 代码如下: window.parent.a(); 但是我在chrome浏览器下却发现此方法无效了 复制代码 代码如下: //在父页面中调用该函数 <script> function dey() { var cards_frame=d
-
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实现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
-
JavaScript实现同一页面内两个表单互相传值的方法
本文实例讲述了JavaScript实现同一页面内两个表单互相传值的方法.分享给大家供大家参考.具体如下: 有时候我们在提交表单的时候需要将两个表单的值互相传递,那么如何实现呢?其实很简单,就是用JavaScrip获取任一表单的值,然后赋给另一个,具体可看代码,代码很有意思,也很实用. 运行效果截图如下: 具体代码如下: <html> <head> <title>JavaScript同一页面两个表单互相传值</title> <meta http-equi
-
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与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
随机推荐
- 详解vue2.0 transition 多个元素嵌套使用过渡
- 深入浅析Jsp中 out.print 和 out.write 的区别
- SQL 中sp_executesql存储过程的使用帮助
- ThinkJS中如何使用MongoDB的CURD操作
- 利用函数返回oracle对象表的三种方法
- Python中str is not callable问题详解及解决办法
- javascript仿163网盘无刷新文件上传系统
- Asp.net 时间操作基类(支持短日期,长日期,时间差)
- PHP中的正规表达式(二)
- 信息发布中的判断过期和有效期的东西
- C#实现快捷键的几种常用方法汇总
- Android ListView长按弹出菜单二种实现方式示例
- MySQL中几种数据统计查询的基本使用教程
- js判断浏览器是否支持严格模式的方法
- Android 实现带字母索引的侧边栏功能
- SQL Server 2008 R2——查找最小nIndex,nIndex存在而nIndex+1不存在 求最小连续数组中的最大值
- SQL语句练习实例之五 WMS系统中的关于LIFO或FIFO的问题分析
- 修改系统DLL文件实现禁用的方法
- Java/Android引用类型及其使用全面分析
- 国内一些常用PHP的CMS的Nginx服务器的伪静态规则整理
