项目背景:XXXX资金监管系统,为保证房地产开发公司携款潜逃或者不作为,开发商需要交一部分资金到银行由建委来监管这部分资金的使用。
项目业务操作样式的初步计划:采用弹出框实现所有业务的增加和修改操作。
失败之处:采用window.open没有考虑到兼容性的问题。所以现在只是在IE6.0下,才是弹出效果。
例子如下:
列表页面调用Js方法:
function goAdd(){
var url = "${ctx}/XX/XX.do?method=create";
openAddWindow(url,700,380);
}
openAddWindow方法在一个js文件中封装,代码如下:
function openAddWindow(_sUrl,winWidth,winHeight)
{
control = window.open(_ctx+"/rbac/index.do?method=toAddSkin#"+_sUrl,"HFMP_INFO","width="+winWidth+",scrollbars=no,location=no,status=no,height="+winHeight+",left=" + (window.screen.width-winWidth)/2 + ",top=" + (window.screen.height-winHeight)/2);
control.focus();
}
/rbac/index.do?method=toAddSkin代码如下:
public ActionForward toAddSkin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
return mapping.findForward("addskin");
}
addskin跳转指向的jsp页面代码如下:
<body>
<div>
<script language="javaScript">
document.write('<iframe id="mid" name="mid" width="'+(parseInt(document.body.clientWidth)-10)+'" height="'+(parseInt(document.body.clientHeight)-60)+'" frameborder="0" scrolling="yes"');
var n=self.location.href.indexOf("#");
if (n>0)
{
document.write(" src="+self.location.href.substr(n+1));
}
document.write('></iframe>');
</script>
</div>
</body>
由代码可以看出,我采用弹出框跳转的页面中有使用了iframe框架。
因为我开发一直使用的是IE6.0,当项目经理提出要使用弹出框进行业务操作的时候,我丝毫没有考虑到浏览器的兼容性问题。并且在建委那客户也使用的是IE6,但是开发商有很多家,不能保证全部使用IE6。使用360 4.1虽然不影响使用但是达不到起初想象的那种效果了。所以这是一个失败的地方。因为我们公司;历来没有项目后评价这一传统,所以只能是我自己总结。今天无意中使用360上网浏览网页,发现了这个问题。汲取教训,总结经验,一往无前。
附:(请参考w3help:http://www.w3help.org/zh-cn/causes/BX1053)
window.open函数参数列表window = object.open([URL ][, name ][, features ][, replace]]]])
URL:新窗口的URL地址
name:新窗口的名称,可以为空
featurse:属性控制字符串,在此控制窗口的各种属性,属性之间以逗号隔开。
fullscreen= { yes/no/1/0 } 是否全屏,默认no
channelmode= { yes/no/1/0 } 是否显示频道栏,默认no
toolbar= { yes/no/1/0 } 是否显示工具条,默认no
location= { yes/no/1/0 } 是否显示地址栏,默认no
directories = { yes/no/1/0 } 是否显示转向按钮,默认no
status= { yes/no/1/0 } 是否显示窗口状态条,默认no
menubar= { yes/no/1/0 } 是否显示菜单,默认no
scrollbars= { yes/no/1/0 } 是否显示滚动条,默认yes
resizable= { yes/no/1/0 } 是否窗口可调整大小,默认no
width=number 窗口宽度(像素单位)
height=number 窗口高度(像素单位)
top=number 窗口离屏幕顶部距离(像素单位)
left=number 窗口离屏幕左边距离(像素单位)
分享到:
相关推荐
swin unet预训练权重swin_tiny_patch4_window7_224.pth
将下面命令保存为reg文件:Add_Open_Command_Window_Here_as_Administrator.reg 卸载:Cutoff_Open_Command_Window_Here_as_Administrator.reg from:https://blog.csdn.net/bdss58/article/details/54745380
对window.open进行封装, 使其更好用, 且更兼容, 很多人说window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行;看代码: 代码如下 var openWindow = function(url, options) { var str = ""; ...
windows.open这个是JavaScript函数,但是在应用起来的时候总会遇到比较多的麻烦,因为参数非常多,用法也非常的多
Arm_Mobile_Studio_2020.1_windows,Window版本,官网也可下载,官网下载速度太慢,方便后续使用
Window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。 这一段代码...
弹出窗口,并且弹出窗口要求最大化处理,window.open打开的窗口获取到焦点
扩展window.open方法,使得window.open时针对相同的URL地址非打开新窗口,而是仅仅激活已存在窗口,另外,此激活不会刷新页面,不会丢失页面上已存在的数据
window.open使用方法以及参数说明一、window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 二、基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口...
Web开发中的window.open父子窗口传值问题 部署在tomcat中进行
[removed] var timer var winOpen function IfWindowClosed() { if (winOpen.closed == true) { document.fm_Info.txtValue.value=”child closed” window.clearInterval(timer) } } [removed] <input type=b
解决旧版本adb shell 不兼容问题 (adb server version (31) doesn't match this client (40); killing... * daemon started successfully error)
JavaScript_window.setTimeout()_的详细用法
主要讲解了如何利用window.open打开新窗口,和打开新窗口时的一些参数的设置,很实用的。
BMP Window Manager sample code
window.showModalDialog以及window.open用法简介
关于window.open的一些特性,一些你经常不注意的,值的一看啊
fiddler_window.zip
opencv-3.4.9在window下源码编译,需要下载第三方ippcv库,ippicv_2020_win_intel64_20191018_general.zip
NULL 博文链接:https://shawnfree.iteye.com/blog/598885