showModalDialog打开的页面需要跳转或刷新
2016-07-05 00:00
399 查看
问题描述:使用showModalDialog打开模式窗口(假设为page1.html),如果在page1.html中执行location.href='page2.html'执行页面跳转,则浏览器会在新窗口中打开page2.html,而不会将page1.html跳转到page2.html;
上述情况,在很多场合下都常遇到,具体解决方法如下:
1、在showModalDialog打开的窗口中放入iframe或frameset,然后在此框架中显示page1.html,此时再在page1.html中执行location.href=‘page2.html’则会正常跳转至page2.html,而不会打开一个新窗口;
2、如果不用iframe显示page1.html,则可以将location.href='page2.html'替换为window.name = "dialogPage"; window.open("page2.html","dialogPage");此时就可以实现正常的页面跳转;查看示例
使用此方法如果是刷新本页面,即window.open('page1.html','dialogPage'),可能会由于页面缓存的原因,而使得页面无法更新;此时可以设置页面不允许缓存(Response.Cache.SetNoStore())解决该问题;
附:
如果在showModalDialog打开的页面page1.html中往父页面传值,可以使用dialogArguments.document.getElementById("目标控件ID").innerHTML进行赋值;
上述情况,在很多场合下都常遇到,具体解决方法如下:
1、在showModalDialog打开的窗口中放入iframe或frameset,然后在此框架中显示page1.html,此时再在page1.html中执行location.href=‘page2.html’则会正常跳转至page2.html,而不会打开一个新窗口;
2、如果不用iframe显示page1.html,则可以将location.href='page2.html'替换为window.name = "dialogPage"; window.open("page2.html","dialogPage");此时就可以实现正常的页面跳转;查看示例
使用此方法如果是刷新本页面,即window.open('page1.html','dialogPage'),可能会由于页面缓存的原因,而使得页面无法更新;此时可以设置页面不允许缓存(Response.Cache.SetNoStore())解决该问题;
附:
如果在showModalDialog打开的页面page1.html中往父页面传值,可以使用dialogArguments.document.getElementById("目标控件ID").innerHTML进行赋值;
相关文章推荐
- 实用API大全
- JavaScript语言基础知识总结
- Linux 使用wget 命令下载JDK的方法
- oracle删除重复的行
- android开源框架android-async-http使用
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- Windows环境下安装Redis和基本操作
- log4j:WARN No appenders could be found for logger
- ORACLE创建实例的过程(DBCA)
- JAVA 获取音频/视频长度
- spring获取webapplicationcontext,applicationcontext几种方法详解
- java用户角色权限设计
- 开博记录
- 《Activiti实战》摘抄&笔记2
- 《Activiti实战》摘抄&笔记3
- 用MathType如何编辑异或与非符号
- 如何在ChemDraw 15.1 Pro中插入阿尔法
- 怎么用几何画板画三星状图形
- Android绘制文本之获取宽高笔记
- 观察者设计模式 Vs 事件委托(java)