iframe的onload事件监听
2011-01-18 22:49
441 查看
[align=center]iframe的onload事件监听[/align]
iframe的onload事件监听比较麻烦,浏览器注册事件监听的方式也不一样,下面是一个通用的监听方式。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div id="cnt"></div>
<input name="bt" type="button" value="设置IFrame内容"
</body>
</html>
<script type='text/javascript'>
//添加两个
function doAction1() {
alert("
}
function doAction2() {
alert("
}
function doIt() {
//删除所有的ifream内容
var div = document.getElementById("cnt");
var arrifm = div.getElementsByTagName("iframe");
if (arrifm.length != 0) {
var x = div.removeChild(arrifm[0]);
alert("清除成功!")
}
//添加新的ifream内容
var iframe = document.createElement("iframe");
iframe.src = "b.html";
//为ifream的
if (iframe.attachEvent) {
iframe.attachEvent(" {
doAction1();
alert("Local iframe is now loaded 1.");
});
} else {
iframe.onload = function() {
this.doAction2();
alert("Local iframe is now loaded 2.");
}
}
//追加ifream元素
div.appendChild(iframe);
//弹出ifream的HTML代码
// alert(div.innerHTML);
}
</script>
上面的事件监听写成下面的也行:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div id="cnt"></div>
<input name="bt" type="button" value="设置IFrame内容"
</body>
</html>
<script type='text/javascript'>
//添加两个
function doAction1() {
alert("
}
function doAction2() {
alert("
}
function doIt() {
//删除所有的ifream内容
var div = document.getElementById("cnt");
var arrifm = div.getElementsByTagName("iframe");
if (arrifm.length != 0) {
var x = div.removeChild(arrifm[0]);
alert("清除成功!")
}
//添加新的ifream内容
var iframe = document.createElement("iframe");
iframe.src = "b.html";
//为ifream的
if (iframe.attachEvent) {
iframe.attachEvent(" doAction1);
} else {
iframe.onload = doAction2
}
//追加ifream元素
div.appendChild(iframe);
//弹出ifream的HTML代码
// alert(div.innerHTML);
}
</script>
但是下面这种方式不行:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div id="cnt"></div>
<input name="bt" type="button" value="设置IFrame内容" onclick="doIt()">
</body>
</html>
<script type='text/javascript'>
function aa() {
alert("aaaaaaaaa");
}
function doIt() {
//删除所有的ifream内容
var div = document.getElementById("cnt");
var arrifm = div.getElementsByTagName("iframe");
if (arrifm.length != 0) {
var x = div.removeChild(arrifm[0]);
alert("清除成功!")
}
//添加新的ifream内容
var iframe = document.createElement("iframe");
iframe.src = "b.html";
//添加两个
doIt.prototype.doAction1 = function() {
alert("onload1");
bb();
};
doIt.prototype.doAction2 = function() {
alert("onload2");
bb();
};
// 下面的方式不行
if (iframe.attachEvent) {
iframe.attachEvent("onload", this.doAction1());
} else {
iframe.onload = this.doAction2();
}
// 下面的方式不行
// if (iframe.addEventListener) {
// iframe.addEventListener(' this.doAction1, false);
// } else if (iframe.attachEvent) {
// iframe.onload = this.doAction2;
// }
//追加ifream元素
div.appendChild(iframe);
//弹出ifream的HTML代码
alert(div.innerHTML);
}
</script>
注意:父窗口不能调用ifream内的js方法。
iframe的onload事件监听比较麻烦,浏览器注册事件监听的方式也不一样,下面是一个通用的监听方式。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div id="cnt"></div>
<input name="bt" type="button" value="设置IFrame内容"
</body>
</html>
<script type='text/javascript'>
//添加两个
function doAction1() {
alert("
}
function doAction2() {
alert("
}
function doIt() {
//删除所有的ifream内容
var div = document.getElementById("cnt");
var arrifm = div.getElementsByTagName("iframe");
if (arrifm.length != 0) {
var x = div.removeChild(arrifm[0]);
alert("清除成功!")
}
//添加新的ifream内容
var iframe = document.createElement("iframe");
iframe.src = "b.html";
//为ifream的
if (iframe.attachEvent) {
iframe.attachEvent(" {
doAction1();
alert("Local iframe is now loaded 1.");
});
} else {
iframe.onload = function() {
this.doAction2();
alert("Local iframe is now loaded 2.");
}
}
//追加ifream元素
div.appendChild(iframe);
//弹出ifream的HTML代码
// alert(div.innerHTML);
}
</script>
上面的事件监听写成下面的也行:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div id="cnt"></div>
<input name="bt" type="button" value="设置IFrame内容"
</body>
</html>
<script type='text/javascript'>
//添加两个
function doAction1() {
alert("
}
function doAction2() {
alert("
}
function doIt() {
//删除所有的ifream内容
var div = document.getElementById("cnt");
var arrifm = div.getElementsByTagName("iframe");
if (arrifm.length != 0) {
var x = div.removeChild(arrifm[0]);
alert("清除成功!")
}
//添加新的ifream内容
var iframe = document.createElement("iframe");
iframe.src = "b.html";
//为ifream的
if (iframe.attachEvent) {
iframe.attachEvent(" doAction1);
} else {
iframe.onload = doAction2
}
//追加ifream元素
div.appendChild(iframe);
//弹出ifream的HTML代码
// alert(div.innerHTML);
}
</script>
但是下面这种方式不行:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div id="cnt"></div>
<input name="bt" type="button" value="设置IFrame内容" onclick="doIt()">
</body>
</html>
<script type='text/javascript'>
function aa() {
alert("aaaaaaaaa");
}
function doIt() {
//删除所有的ifream内容
var div = document.getElementById("cnt");
var arrifm = div.getElementsByTagName("iframe");
if (arrifm.length != 0) {
var x = div.removeChild(arrifm[0]);
alert("清除成功!")
}
//添加新的ifream内容
var iframe = document.createElement("iframe");
iframe.src = "b.html";
//添加两个
doIt.prototype.doAction1 = function() {
alert("onload1");
bb();
};
doIt.prototype.doAction2 = function() {
alert("onload2");
bb();
};
// 下面的方式不行
if (iframe.attachEvent) {
iframe.attachEvent("onload", this.doAction1());
} else {
iframe.onload = this.doAction2();
}
// 下面的方式不行
// if (iframe.addEventListener) {
// iframe.addEventListener(' this.doAction1, false);
// } else if (iframe.attachEvent) {
// iframe.onload = this.doAction2;
// }
//追加ifream元素
div.appendChild(iframe);
//弹出ifream的HTML代码
alert(div.innerHTML);
}
</script>
注意:父窗口不能调用ifream内的js方法。
相关文章推荐
- iframe的onload事件监听
- UltraWebGrid默认选中第一行及前台body里触发onload事件,实现多个iframe默认关联第一个。
- iframe载入完成时的事件监听
- iframe 动态onload事件处理方式
- 关于IFRAME的onload事件
- iframe自适应高度加载脚本,解决不能使用onload事件问题(兼容)
- iframe监听鼠标点击事件
- iframe载入完成时的事件监听
- javascript监听iframe加载完成事件
- 移动端(IOS)iframe监听不到 onscroll 事件
- iframe监听unload事件
- form下载文件,指向iframe ,如何判断iframe加载完成 form.submit之后的事件问题 监听form表单下载文件是否完成
- window/body/img/iframe 的onload事件
- IFRAME动态加载触发onload事件(转)
- iframe监听unload事件
- 关于IFRAME的onload事件
- iframe载入完成时的事件监听
- iframe的onload事件
- IE IE8 iframe的onload方法分析 IE浏览器onload事件失效
- 【HTML】Iframe中的onload事件