前段时间在后台使用JS的winodw.showModalDialog来查看静态页面内容,在使用这个之间偶都是一直使用window.open的。后来发现使用showModalDialog比较好,但是当静态页面的内容更新的时不能及时显示更新后的页面内容。直到今天在做对父窗口的刷新时才想起前可以给地址中用JS添加一个随机函数。
实现:
window.showModalDialog(getUrl+"?Rnd="+Math.random(),"","dialogWidth:600px;dialogHeight:400px;help:no;scroll:yes;center:yes;status:no;");
这样就可以确保每次打开页面时都是一个新的页面而不会被缓存了。 math.random()取得某个范围内的随机数
由于须要查看页面内容后,让系统自动标记这条信息内容为已读状态,当阅读这条信息并更新数据库相应字段已标记这条信息被阅,同时又需要更新列表页面的信息状态,这就需要对列表页面进行重载。只要当关闭信息阅读页面同时重载父窗口就可以了。
实现:
if(isRe){//在这里使用一个参数来指定是否须要更新父窗口页面,由程序列表页面给于这参数值。
window.opener=null;
window.location.reload();
例:
function QuerySub(reportJsp,reporturl) { //showModalDialog的第二个参数是传递给子窗口的值 showModelessDialog //在子窗口可以通过window.dialogArguments方法获取 //如果不需要传递,这个参数就用window本身
var result = window.showModalDialog(reportJsp+"?Rnd="+Math.random(),"","dialogWidth:400px;dialogHeight:auto;help:no;scroll:yes;center:yes;status:no;");
//reportjsp为jsp文件名
if(result != null){ //更改子窗口查询时调出主窗口并输出参数查询 window.location=reporturl+ result[0]; //reporturl为主窗口报表路径 }
}
|