<html>
<head>
<meta http-equiv="contentType" content="text/html;charset=gbk">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script>
$(function(){
$("#phone").change(function(){
$("#message").text("正在加载..");
$("#theone").attr("src",$(this).val());
});
$("#theone").load(function(){
$("#message").text("");
});
});
</script>
</head>
<body>
<select id="phone">
<option value="http://www.google.com.hk/">any one</option>
<option value="http://www.streamcave.com/upload/2010/8/201008251153427683.jpg">htc dream</option>
<option value="http://www.streamcave.com/upload/2010/8/201008251153454306.jpg">htc magic</option>
<option value="http://www.streamcave.com/upload/2010/8/201008251153453524.jpg">htc hero</option>
<option value="http://www.streamcave.com/upload/2010/8/201008251153464400.jpg">htc hattoo</option>
<option value="http://www.streamcave.com/upload/2010/8/201008251153483133.jpg">nexus one</option>
<option value="http://www.streamcave.com/upload/2010/8/201008251153485258.jpg">htc legend</option>
<option value="http://www.streamcave.com/upload/2010/8/201008251153510582.jpg">htc desire</option>
<option value="http://www.streamcave.com/upload/2010/8/201008251153532800.jpg">motorola milestone</option>
</select>
<span id="message" style="color:green"></span>
<hr/>
<iframe id="theone" src="" width="600" height="700"></iframe>
</body>
</html>
方法二:使用JS
一般来说,我们判断 iframe 是否加载完成其实与 判断 JavaScript 文件是否加载完成 采用的方法很类似:
var iframe = document.createElement("iframe");
iframe.src = "http://www.webjx.com";
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.webjx.com";
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 事件有一些潜在的问题。
分享到:
相关推荐
判断 iframe 是否加载完成是一个重要的步骤,在我们的开发中,我们可以使用以上三种方法来判断 iframe 是否加载完成。其中,方法一和方法二都是通用的方法,可以在多数浏览器中使用,而方法三则是 IE 浏览器特有的...
综上所述,要判断WebBrowser控件的页面是否最终加载完成,通常需要结合多种策略,例如监听`DocumentCompleted`事件,检查`ReadyState`,监控`ProgressChanged`,以及可能的话,利用JavaScript交互。根据具体的应用...
这种方法兼顾了兼容性和可靠性,是判断iframe加载完成的一个很好的选择。 总结来说,判断iframe是否加载完成主要有以下几种方式: 1. 对于非IE浏览器,直接使用`onload`事件。 2. 对于IE浏览器,使用`attachEvent`...
// 当iframe加载完成后,执行此函数 console.log("加载完成"); // 如果需要在父页面中调用iframe页面的方法,可以这样操作 // 假设iframe页面有一个名为AddReceipt2的方法 if (iframeElement.contentWindow &...
本文将详细介绍两种JavaScript方法,用于判断`iframe`是否加载完成,以便在正确的时间进行后续处理。 首先,让我们了解这两种方法: 1. 针对IE内核的浏览器: 在IE浏览器中,我们不能直接使用`onload`事件来监听`...
为了确保后续操作能够正确执行,我们需要准确判断`iframe`是否已经加载完成。本文将详细介绍如何使用JavaScript在多种浏览器环境下判断`iframe`的加载状态。 在Internet Explorer(IE)浏览器中,我们可以利用`...
基于 JS 判断 iframe 是否加载成功的方法(多种浏览器) 在网页开发中,经常需要动态添加 iframe,然后再对添加的 iframe 进行相关操作。但是,往往 iframe 还没添加完呢,后边的代码就已经执行完了,这时,我们...
判断`iframe`是否加载完成的方法有多种,这里将详细讨论两种常见且有效的方法。 首先,我们可以使用`onload`事件来监听`iframe`的加载状态。当`iframe`的内容完全加载完毕,包括图片、脚本等所有资源,`onload`事件...
为了精确判断WebBrowser是否加载完成,我们需要跟踪所有的`OnDocumentComplete`事件,直到所有子框架也都加载完毕。下面是一个简单的实现方法: 1. 在Delphi中创建一个新的VCL Forms应用程序。 2. 在Form上添加一个...
一个iframe加载完成意味着它所指向的页面资源(如HTML文档、图片、JavaScript文件等)都已成功加载并执行完毕。这通常伴随着load事件的触发,这是iframe或整个文档加载完毕后的一个标准事件。 在jQuery中,我们可以...
2. **轮询检查**:`fnLoadOk`函数遍历所有的iframe,对每个iframe调用`getIframeControlValue`,如果所有iframe的值都达到预期,返回`true`,表示所有iframe加载完成。 3. **设置提示信息**:`setValue`函数用于...
- **检测加载状态**:通过监听IFRAME的 `load` 事件,判断内容是否已加载完成。 - **动态创建IFRAME**:使用 `document.createElement('iframe')` 创建IFRAME,并设置其属性。 - **插入IFRAME**:将IFRAME插入到DOM...
// 在这里放置你需要在iframe加载完成后执行的代码 }); // 对于Internet Explorer if (iframe[0].attachEvent) { iframe[0].attachEvent("onload", function() { // 在这里放置你需要在iframe加载完成后执行的...
4. **设置计数器或延迟**:为每个iframe加载设置一个计数器或延时,如果在一定时间内或达到一定重载次数后仍然没有停止,就阻止进一步的重载。 5. **使用独立的控制层**:创建一个外部的控制层(如JavaScript对象或...