javascript+iframe 实现无刷新载入整页的代码


Posted in Javascript onMarch 17, 2010

jquery有一个load()方法,使用方法如:$("#div").load("/index.html");这样就可以将index.html加载到ID为div的容器中,
用iframe也可以实现,但没有上述做法完美,参见discuz那些网站,如登陆弹出一个层,也是载入的一个页面,但我发现状态栏左边出现的是 正在打开about:blank,不知道是不是将iframe的src设为about:blank,然后在编辑iframe呢?但注意了,查看源代码的时候却看不到载入页面的时候是看不到载入的这个页面的源代码,不知道是不是才用了跟jquery一样分析head,然后将载入页面的头部信息添加到主页面的头部,然后用eval()函数执行javascript代码,,求解?
以下我用了一个页面做为承载载入页面源代码的容器,命名为do.html,传递一个参数uri告诉do.html要载入的页面!
示例DEMO:http://mi.8866.org:2/management.aspx/ 直接点登陆既可
该页面加载了两个js文件

<script type="text/javascript" src="/image/script.ashx/global.js?ver=1.0.0"></script> 
<script type="text/javascript" src="/image/script.ashx/plus.js?ver=1.0.0"></script>

do.html的源代码为:
<html> 
<head> 
<title>载入中...</title> 
<script type="text/javascript" src="/image/script.ashx/do.js?ver=1.0"></script> 
</head> 
<body> 
</body> 
</html>

File:do.js
document.write("<script src=\"/image/script.ashx/global.js?ver=1.0.0\"></script>"); 
document.write("<script src=\"/image/script.ashx/plus.js?ver=1.0.0\"></script>"); 
window.onload=function(){ 
j.plus.loadPage({uri:"/",time:1},{ 
start:function(){/*开始加载的回执函数*/}, 
over:function(){/*加载完成的回执函数*/}}); 
}

loadPage的定义如下:
if(!typeof(window.j))window.j=new js(); 
j.plus=new plus(); 
function plus(){} 
plus.prototype.loadPage=function(r,callback,e,times){ 
/* 
r 请求; r.time : 等待加载时间(毫秒); 
callback :回执函数 (callback.start(),callback.over()) 
e.element 页面容器; */ 
if(!r.uri)alert('page uri parameters not be found!'); 
var aj=new ajax(); 
aj.request(r,{ 
start:function(){if(callback.start)callback.start();if(e)e.innerHTML='加载中..';else{document.body.innerHTML='加载中';}}, 
error:function(x){if(e)e.innerHTML='加载失败!';else document.body.innerHTML='加载失败';}, 
success:function(x){ 
var func=function(){if(callback.over)callback.over();if(e)e.innerHTML=x;else document.write(x);}; 
if(r.time){var t=new timer(r.time,func);t.start();}/*延迟显示*/ 
else func(); 
}}); 
} 
/*aj为ajax请求对象在global.js中定义 
* timer为实现一个定时器的代码,在plus.js中有定义 */

函数已经定义完成,我们在需要加载的地方添加代码:
File:/management.aspx/
var bd=j.$("mainbody"); // mainbody为一个div容器 
var uri="/do.html?uri=/management.aspx/"+uri; 
bd.innerHTML="<iframe src='"+uri+"' frameborder='0' width='"+(j.x()-200)+"' height='100%' scrolling='no'></iframe>";

由于do.html会被缓存,所以在do.js中用ajax将返回的html输出到do.html
在线演示地址 http://demo.3water.com/js/menu_iframe/index.htm
Javascript 相关文章推荐
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
Mar 22 Javascript
javascript 实用的文字链提示框效果
Jun 30 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 Javascript
angularJS中router的使用指南
Feb 09 Javascript
js实现选中复选框文字变色的方法
Aug 14 Javascript
关于ES6的六个小特性(二)
Feb 20 Javascript
用React实现一个完整的TodoList的示例代码
Oct 30 Javascript
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 Javascript
对Layer UI 模块化的用法详解
Sep 26 Javascript
javascript实现搜索筛选功能实例代码
Nov 12 Javascript
jQuery实现简单轮播图效果
Dec 27 jQuery
js select常用操作控制代码
Mar 16 #Javascript
js实现的日期操作类DateTime函数代码
Mar 16 #Javascript
javascript json2 使用方法
Mar 16 #Javascript
jQuery 选择器理解
Mar 16 #Javascript
jQuery 学习入门篇附实例代码
Mar 16 #Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 #Javascript
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
Mar 16 #Javascript
You might like
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
php生成curl命令行的方法
2015/12/14 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
Python如何读取MySQL数据库表数据
2017/03/11 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
解决DataFrame排序sort的问题
2018/06/07 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
英语翻译系毕业生求职信
2013/09/29 职场文书
计算机网络专业个人的自我评价
2013/10/17 职场文书
应届行政管理专业个人自我评价
2013/12/28 职场文书
外企财务年会演讲稿
2014/01/03 职场文书
党员学习十八大感想
2014/01/17 职场文书
工作会议主持词
2014/03/17 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
演讲稿开场白台词
2014/08/25 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
公司开会通知
2015/04/20 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书