现在有一个页面 有topframe leftframe mainframe 三个frame 当在leftfrmam点击链接时 在topframe里会显示一个提示 正在处理请求,页面加载完成后关闭提示, 现在链接需要请求到其他服务器,获取其他服务器的页面 显示在mainframe里 这时就无法监测页面加载完成的事件了。求个思路,怎么处理才能把topframe里的提示给隐藏了。
解决方案 »
- 脚本编写
- 请问下JAVASCRIPT一个问题
- 求教一个正则
- 谁能帮个忙? JavaScript 的判断语句搞不定了?
- table中的一个cell怎么设置其内容为另一aspx?
- 请问用javascipt生成的树形结构,要想拖动节点就象拖动windows的资源管理器里面的目录一样,怎么做?
- javascript中如何得到二维数组第一维的最大下标?
- 请问:在表示屏幕上的鼠标坐标时,有没有pixels以外的其他单位,如行、列等?
- 我用FLASH 弄了一些动画图标。想上传到网页上可是flash动画太大。怎么改变起格式呢?
- Extjs的FORM表单与window窗口问题-修改-增加
- 你们是如何学习JavaScript?
- javascritp动态添加表格行与列
<iframe src="http://xxx" onreadystatechange="doIt(this)"><script>function doIt(athis){
var state = athis.readyState;
switch(state){
case 'complete'://完成
//xxx
case 'loading'://loading
//xxx
case 'interactive':
//xxx
}
}
</script>
测试环境Ie7,其它浏览器可能需要做js的相应修改,由于时间关系,你自己完成.
现列出测试文件.
index.htm
<html><head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<title>frame测试</title>
<script type="text/javascript">
function cls()
{
var topframe=document.frames("top");
topframe.document.getElementById("txtstatus").value="加载完成";
}
</script>
</head><frameset rows="100,*">
<frame name="top" scrolling="no" noresize target="contents" src="top.htm">
<frameset cols="150,*">
<frame name="left" target="main" src="left.htm">
<frame name="main" onload="cls();">
</frameset>
<noframes>
<body> <p>此网页使用了框架,但您的浏览器不支持框架。</p> </body>
</noframes>
</frameset>
</html>
top.htm
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
<base target="contents">
</head><body><p>加载状态:</p><input id="txtstatus" name="txtstatus" value="" /></body></html>left.htm
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>内网链接</title>
<base target="main">
<script type="text/javascript">
function test()
{
var topframe=window.parent.parent.frames("top");
topframe.document.getElementById("txtstatus").value="正在加载...";
}
</script>
</head><body>
<!--<input type="button" value="test" onclick="test();" />--><p>内网链接:</p>
<p>1.<a href="local.htm" onclick="test();">内网链接测试</a></p>
<p> </p>
<p> </p>
<p>外网链接:</p>
<p>2.<a href="http://map.baidu.com" onclick="test();">外网链接测试</a></p></body></html>local.htm
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>相同域下的网页</title>
</head><body><p>相同域下的网页.</p></body></html>
<script type="text/javascript" defer="defer">
document.getElementById("topframe里面提示信息的id").style.display='none';
</script>
在top里面先加载自己的页面,另外一个地址的页面放在隐藏的iframe里,加载完毕后将iframe显示,尺寸放大。参考#5楼的方法