使用ajax代替iframe
相信大多数程序员都跟iframe打过交道,iframe简单,好用。在我用的过程中比较苦逼的是关于iframe高度的设置。
由于子页面内容不确定,页面高度也不确定。于是开始网上的各种搜索,一般有两种:一种是通过父页面同一控制,另一种是通过子页面控制父页面的高度。通过父页面直接控制,试过n多次,屡试不对。。。于是通过另一种子页面控制父页面的高度
<iframe src="" id="mainFrame" name="mainFrame" width="100%" height="800" frameborder="no" border="0" scrolling="no"></iframe>
像这个iframe,如果想要实现iframe的高度随子页面内容的高度自适应,我们需要等子页面加载完成之后添加js代码,这段代码是经过我多次升级之后一直用的js代码实现想要功能
var oHeight = (document.body.scrollHeight)||(document.body.offsetHeight);
window.parent.document.getElementById('mainFrame').height = oHeight;
这种方法虽然在我做过的项目中没有出现什么兼容性问题,但是有一缺点就是,每个子页面都不能忘记调用这一段js代码,否则就会出问题。
福利来啦!!!
现在我们用jq的ajax来实现上述功能,但是不使用iframe标签,假如我们的html如下:
<a targeurl="productman.htm" class="menutar block">产品管理</a>
<a targeurl="orderman.htm" class="menutar block">订单管理</a>
<a targeurl="basicarc.htm" class="menutar block">基础档案</a>
对应的js代码,我们只需要得到需要显示的页面路径,并ajax请求该路径,将请求的数据给了我们代替iframe的div即可。
我们的div如下:
<div class="conIfram" id="ifrig"></div>
对应的js,需要添加到a标签的click事件上,代码如下:
$(".menutar").click(function(){
var obj = this;
var tarurl = $(obj).get(0).attributes["targeurl"].nodeValue;
// console.log(tarurl);
$.post(tarurl,function(datas){
$("#ifrig").html(datas);
});
});
粘贴代码试试吧
使用ajax代替iframe的更多相关文章
- ajax和iframe区别
ajax和iframe https://segmentfault.com/a/1190000011967786 ajax和iframe的区别 1.都是局部刷新 2.iframe是同步的,而ajax是异 ...
- 使用ajax与iframe嵌套实现页面局部刷新
使用ajax与iframe嵌套实现页面局部刷新.该javascript代码仅供参考,需按自己需要修改.1. [代码]javascript代码 function cj_start(depname,gr ...
- javascript 不用ajax 用 iframe 子域名下做到ajax post数据
最近在一个项目中遇到了ajax跨域的问题,情况如下.有三个域名分别是 a.xx.com b.xx.com c.xx.com 这三个域名都会用用ajax post方式相互读取数据.文笔不好, 不写了妈蛋 ...
- 上传文件的三种方式xhr,ajax和iframe及上传预览
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用jquery ajax代替iframe
大家在实际编写网页时可能会遇到网页中需要嵌套网页的情况,这时候通常想法就是通过iframe标签. 但实际用过的人都知道其有种种的不方便,比较直观的问题就是iframe的自适应高度,这也是处理起来比较麻 ...
- 无刷新上传图片,ajax 和 iframe
iframe 上传 upload.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...
- ajax模仿iframe
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- python_way day21 Django文件上传Form方式提交,原生Ajax提交字符处啊,Django文件上传之原生Ajax方式、jQuery Ajax方式、iframe方式,Django验证码,抽屉示例,
python_way day21 1.Django文件上传至Form方式 2.原生Ajax文件上传提交表单 使用原生Ajax好处:不依赖jquery,在发送一个很小的文件或者字符串的时候就可以用原生A ...
- iframe实现伪ajax
iframe实现伪ajax 数据提交的两种方式: Form Ajax Ajax提交数据的方法: JS实现 Jquery “伪”Ajax "伪"Ajax: iframe+from实现 ...
随机推荐
- web前端开发分享-css,js进阶篇
一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践 经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无 从 ...
- MySql排序性能对比
- iis下设置默认页
IIS设置设默认页 计算机-->右键管理-->服务器和应用程序-->Internet信息服务 -->网站-->你发布的网站名-->功能视图-->IIS大类里- ...
- 《ArcGIS Engine+C#实例开发教程》第五讲 鹰眼的实现
原文:<ArcGIS Engine+C#实例开发教程>第五讲 鹰眼的实现 摘要:所谓的鹰眼,就是一个缩略地图,上面有一个矩形框,矩形框区域就是当前显示的地图区域,拖动矩形框可以改变当前地图 ...
- 解析rss和atom文件出现乱码问题
try { String xmlString = new String(response.data, Charset.forName("UTF-8")); XmlPullParse ...
- Awesomplete 屌爆了
自动完成,功能强大! 具体请参考 http://leaverou.github.io/awesomplete
- BZOJ_4326_[NOIP2015]_运输计划_(二分+LCA_树链剖分/Tarjan+差分)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=4326 给出一棵带有边权的树,以及一系列任务,任务是从树上的u点走到v点,代价为u到v路径上的权 ...
- [NYOJ 37] 回文字符串
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当 ...
- -_-#【Cookie】缩小 Cookie
Reduce Cookie Size Cookie 是个很有趣的话题.根据 RFC 2109 的描述,每个客户端最多保持 300 个 Cookie,针对每个域名最多 20 个 Cookie (实际上多 ...
- apache虚拟主机的设置
方法一: 首先打开apache中conf下的http.conf文件打开虚拟主机的注释:如下去掉第二行前面的#即可 # Virtual hosts# Include conf/extra/httpd-v ...