js下判断 iframe 是否加载完成的完美方法

js下判断 iframe 是否加载完成的完美方法

http://www.jb51.net/article/25128.htm

一般来说,我们判断 iframe 是否加载完成其实与 判断JavaScript 文件是否加载完成。

采用的方法很类似:


复制代码 代码如下:

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 事件有一些潜在的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113355.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm调试和运行的区别_pycharm调试debug入门

    pycharm调试和运行的区别_pycharm调试debug入门pycharm运行代码时,启动的是测试方案https://blog.csdn.net/qq_41810188/article/details/107359647

  • android studio usb连接手机_android studio怎么用真机调试

    android studio usb连接手机_android studio怎么用真机调试    Android开发者第一步学习的应该就是真机调试了。但是很多初次接触androidstudio的同学还是不知道如何用真机调试,今天我就给大家写一个教程,希望可以帮到需要的人。   我使用的是一款国家电网定制机型。Android版本为:5.0.2。     1.先用usb线把你的测试手机连接到你的电脑上,并且安装驱动(由于机子型号不同,安装方式有差异,可以根据你的机子百度安装…

  • 如何激活成功教程Mac软件的付费限制(一)

    如何激活成功教程Mac软件的付费限制(一)一、前言在使用Mac的过程中,经常会碰到一些软件,属于付费使用产品。那么处于好奇或者自学的目的,能不能绕过这个限制呢。今天简单的分享下我激活成功教程的几款软件当中的一款,具体是什么软件就不说了,主要是提供下激活成功教程的思路。由于不能供发图,所以这里简单介绍下这款软件。这款软件是AppStore上的一款磁盘清理软件,扫描是免费的。扫描到数据之后,点击清理按钮时候会检查是否注册。如果注册了,直接进入清理程序,否…

  • mybatis log激活码【永久激活】

    (mybatis log激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/ide…

  • 从源码角度彻底理解ReentrantLock(重入锁)

    从源码角度彻底理解ReentrantLock(重入锁)[TOC]1.前言在"ReentrantLock(重入锁)功能详解和应用演示"这篇文章里我们讲解并演示了ReentrantLock(重入锁)的各种功能,其中就谈到Reent

  • mysql学习之mysql集群

    mysql学习之mysql集群本片博文是笔者学习《高性能mysql》一书的第一篇学习笔记,对应书籍章节为第10章。主要介绍了mysql集群部署方案主从集群部署。集群方案、主从同步原理、复制类型、docker安装mysql集群示例。

    2022年10月23日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号