最近用到iframe页面布局,解决了页面加载慢的问题,分成了上中下三层,结果遇到网上很多人遇到的问题。
1、下拉菜单因为高度问题向上显示了,
于是我把它放在了外面,其余用iframe,就不会出现问题了。
2、可是又遇到了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
它会自动添加默认样式,覆盖原有的样式。因为我写的iframe的自适应高度的方法用到了。方法如下
function reinitIframe(iframe){
var bHeight = iframe.contentWindow.document.body.scrollHeight; var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
//var blankHeight = iframe.contentDocument.body.scrollHeight;
var height = Math.max(bHeight, dHeight);
try{
iframe.height = bHeight;
//iframe.height = blankHeight; //适应内部页面的大小
}catch (ex){
alert(ex+">>>>>>>>>>>>>>error0000");
}
}
后来发现可以用另外的方式实现:
function reinitIframe(iframe){
var win=iframe;
var minheight = 200;
if (document.getElementById){
if (win && !window.opera){
if (win.contentDocument && win.contentDocument.body.offsetHeight)
win.height = win.contentDocument.body.offsetHeight;
else if(win.Document && win.Document.body.scrollHeight)
if(minheight<win.Document.body.scrollHeight){
win.height = win.Document.body.scrollHeight;
}else{
win.height =minheight;
}
}
}
}
这样问题就解决了。
3、用了iframe之后,每次刷新页面都会跳转到首页,要是只刷新iframe就好了,于是写了下面的方法:
var check=function(e){
e=e||window.event;
if((e.which||e.keyCode)==116){
if(e.preventDefault){
e.preventDefault();
window.frames["mainFrame"].location.reload();
} else{
event.keyCode = 0;
e.returnValue=false;
window.frames["mainFrame"].location.reload();
} } }
if(document.addEventListener){
document.addEventListener("keydown",check,false);
} else{
document.attachEvent("onkeydown",check);
} ;
4、当有弹出框的时候,如果子页面调用父页面的方法,那么就调用
window.parent.document.mainFrame.user()//mainFrame父页面的iframe名称,user()父页面的方法
5、iframe局部跳转
window.frames[i].location.href=url//i表示第几个iframe
分享到:
相关推荐
-增加示例(iframe/parent_postback_run3.aspx),如何通过简单的Javascript代码回发父页面(feedback:eroach)。 -修正一些书写错误(feedback:bmck)。 -从Region控件中删除SplitColor属性,增加CollapseMode, ...
-增加示例(iframe/parent_postback_run3.aspx),如何通过简单的Javascript代码回发父页面(feedback:eroach)。 -修正一些书写错误(feedback:bmck)。 -从Region控件中删除SplitColor属性,增加CollapseMode, ...
0399 利用Table布局Web页面 223 0400 FrameSet框架的应用 224 0401 IFrame框架的应用 224 0402 页面尺寸自动适应1024×768像素和800×600分辨率 225 10.2 网页性能设计 225 0403 用meta标签来增强网页...
03 基于BootStrap和FontAwesome制作页面 04 创建学生信息 05 删除学生信息 第57章 01 上节内容回顾 02 上节bug修复 03 编辑学生信息之前端功能 04 编辑学生信息之后台处理 05 以上内容总结 06 Ajax功能之dataType...
√iframe某些时候会缓存上一个页面 √非聚合区块,设置显示数量 √游客状态发表论坛主题不能转向登录界面 √在线列表,同一个会员不再显示两次,以最后活跃记录为准,过期用户删除 √IE6下 png图片透明问题 √...
✫自定义全屏设置,包括任务窗口的高度,宽度和垂直偏移 ✫设置为始终选中“自动接受下一个HIT”复选框 ✫“打开并接受”按钮可快速打开最多25个选项卡(新功能!)✫按钮可关闭所有打开的选项卡和窗口中的“自动...
CSS内容补充以及后台管理页面布局 后台管理页面布局 JavaScript内容回顾 JavaScript函数 JavaScript序列化及转义 开小差之自动登录抽屉并点赞 eval以及时间操作 JavaScript作用域 JavaScript面向对象及原型 Dom选择...
修复在PHP7.4下报错- 修复一处书写错误- 修复某些场景下select下拉内容被ueditor编辑器遮挡- 调整表单提交时自定义回调函数的顺序- 优化软删除- 修复开启手机网站后,小程序访问返回异常- 优化iframe模式下,...
6 <br>0014 如何锁定窗体中的控件 6 <br>0015 统一窗体中控件的字体设置 7 <br>0016 通过“格式”菜单布局窗体 7 <br>0017 起始页中的“Visual Studio开发人员新闻” 7 <br>1.3 MSDN帮助的...