项目中用到了模态窗口:
/*用途:弹出模式窗口
此功能只能在IE5.0以上浏览器使用。
弹出窗口的风格为居中,没有状态栏,没有IE按钮,菜单,地址栏
输入:
strUrl: 弹出窗口内显示的网页的地址
winWidth: 弹出窗口的宽度,单位为px
winHeight: 弹出窗口的高度,单位为px
winLeft: 弹出窗口的左坐标,单位为px
winTop: 弹出窗口的顶坐标,单位为px
返回:
如果通过验证返回true,否则返回false
*/
function showModal( strUrl,winWidth,winHeight){
var left = "", top = "";
// alert(arguments[3] + ":" + arguments[4]);
if(arguments[3] != null) left = "dialogLeft:" + arguments[3] + "px;"
if(arguments[4] != null) top = "dialogTop:" + arguments[4] + "px;"
return window.showModalDialog(strUrl,
window,
"dialogWidth:"+ winWidth + "px;" + "dialogHeight:"+winHeight + "px;"
+ left + top
+ "directories:yes;help:no;status:no;resizable:no;scrollbars:yes;");
但是很奇怪:每个弹出的模态窗口的标题栏都是同一的名字“--网页对话框”
好奇怪呀!
我在弹出窗口的页面head中加了<title>增加节目</title>,但是还是没有显示出来标题!
原来页面的写法是这样的:
<%@include file="/internet/common.jsp"%>
<html>
<SCRIPT language="JavaScript" src="/pageComponent/resources/scripts/dataformcheck.js"></SCRIPT>
<SCRIPT language="JavaScript" src="/pageComponent/resources/scripts/calendar.js"></SCRIPT>
<SCRIPT language="JavaScript" src="/fbtools/page/hiddensubmit.js" type="text/javascript"></SCRIPT>
<link rel="stylesheet" href="/fbrole/theme/style.css" type="text/css">
<link rel="stylesheet" href="/pageComponent/resources/theme/style.css" type="text/css">
<head>
<title>增加节目</title>
<base target="_self">
</head>
<body>
。。。。。。。
修改为:
<%@include file="/internet/common.jsp"%>
<html>
<head>
<title>增加节目</title>
<SCRIPT language="JavaScript" src="/pageComponent/resources/scripts/dataformcheck.js"></SCRIPT>
<SCRIPT language="JavaScript" src="/pageComponent/resources/scripts/calendar.js"></SCRIPT>
<SCRIPT language="JavaScript" src="/fbtools/page/hiddensubmit.js" type="text/javascript"></SCRIPT>
<link rel="stylesheet" href="/fbrole/theme/style.css" type="text/css">
<link rel="stylesheet" href="/pageComponent/resources/theme/style.css" type="text/css">
<base target="_self">
</head>
<body>
问题就解决了!!!
原来,这里我犯了2个错误:
1.页面引入js和css的内容都需要写在head中
2.如果要title显示出来,<title>增加节目</title>必须写在head标签内的最上面第一位。
由此看来,模态窗口对title的位置要求很严格,必须是严格的放在head标签的第一位。而其他窗口(比如window.open())则没有过多的敏感,只要写上就会显示,忽略了那些繁琐的检验错误。
注意:
我上面的写法会发现,标题变为:增加节目 -- 网页对话框
呵呵。。。。 讨厌的“网页对话框”还在。怎么办呢?可以在<title>增加节目</title>title名字后加空格,把“--网页对话框”挤走。比如:
<title>增加节目 </title>
不过最后会出现三个...代替了原来的“--网页对话框”,标题显示如下:
增加节目 ...
分享到:
相关推荐
介绍showModalDialog和showModelessDialog实现模态窗口的使用心得
Selenium目前没有提供对IE模态对话框(即通过showModalDialog方法打开的弹出对话框)的处理。原因在于,模态对话框会将父页面的 JS挂起,直至对话框处理完毕才会继续执行父页面JS。因为Selenium的底层实现是基于JS的,...
js调用模态窗口的asp页面模板。调用示例: var vmyasp="abc.asp?id="+id; var vbt1="页面窗口title"; var vbt2="附加的title"; var myretu=window.showModalDialog("mywindow.asp?bt1="+escape(vbt1)+"&bt2;="+...
window.open[removed].href, “__self”) //注意是2个下划线 替换 location.href 当需要关闭第N(N>1)层的模态窗口,并刷新第N-1层的模态页面时, 为防止刷新时弹出新窗口, 可以通过returnValue 以传递返回值给第N-1...
showModalDialog刷新窗口的例子
网上找了好几个小时没有找到解决办法。最终还是自己解决了。...这样做就是用超链接把返回url转递到用showModalDialog打开的新窗口中,当showModalDialog返回时指到转来的url,最终不刷新父窗口。......
解决三层或心上showModalDialog的问题_2
showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口 纯js 应用广泛 应用广泛
解决三层或心上showModalDialog的问题_js
showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面。区别是:showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法操作了)
本文实例讲述了JS中showModalDialog关闭子窗口刷新主窗口用法。分享给大家供大家参考,具体如下: 网上找了好长时间 大都是window.opener.location.reload(),等等 都不是我想要的 最后终于发现了一个 想知道的就往下...
This is a `window.showModalDialog()` shim using a modal HTML5 `<dialog>` element and ECMAScript 6 Generators. It was tested in the latest Google Chrome with the *Enable Experimental JavaScript* flag ...
解决三层或心上showModalDialog的问题
ShowModalDialog父窗体向子窗体传值
上个礼拜修改测试一个后台管理项目,在测试与各个浏览器兼容性的时候,发现在chrome浏览器下showModalDialog方法显示的并不是模态对话框,就像新打开一个页面一样,父窗口仍然可以随意获取焦点,并可以打开多个窗体...
chrome中弹出模态对话框,通过window.returnValue赋返回值关闭后,有的情况下无法取得返回值。
1> window.showModalDialog()采用JS原理实现,同时父窗口不可操作,window.open()采用新创建一个窗口,同时父窗口可操作; 2> 父窗口与子窗口传递值的方式也有所不同,在子窗口中操作父窗口也语法也不同,分别为var...
showModalDialog参数详解 基本介绍: showModalDialog() (IE 4+ ...window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。 window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。