`
laoli5290
  • 浏览: 81205 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

论项目失败之处_window.open的使用

阅读更多

项目背景: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 窗口离屏幕左边距离(像素单位)

0
1
分享到:
评论
2 楼 laoli5290 2012-03-31  
andrew898 写道
只用IE 6.0 开发web 项目
必然会导致失败

恩,现在我们开始使用springMVC+mybatis,jsp页面采用在列表页面弹出层进行业务操作,不知效果会不会改观。
1 楼 andrew898 2012-03-30  
只用IE 6.0 开发web 项目
必然会导致失败

相关推荐

    c_app_window.zip_c_app_window.zip

    标题中的"c_app_window.zip_c_app_window.zip"似乎是一个重复的文件名,这可能是由于复制错误或者用户在输入时的疏忽。不过,我们可以假设这里提到的是一个名为"c_app_window.zip"的压缩包,它包含了与C语言应用窗口...

    swin_tiny_patch4_window7_224.pth

    标题中的"swin_tiny_patch4_window7_224.pth"是一个预训练模型的权重文件,这在深度学习领域非常常见。Swin Transformer是近年来提出的一种基于Transformer架构的新型卷积神经网络(CNN),由卢卡斯·吴(Liang-...

    window.open.txt

    根据提供的文件信息,我们可以深入探讨`window.open()`方法在不同浏览器环境下的特性和使用细节。 ### window.open() 方法概述 `window.open()`是JavaScript中一个非常实用的方法,它用于在一个新的浏览器窗口或...

    window.open最大化问题

    在上面的代码中,我们首先使用 Window.open 方法打开一个新的窗口,然后使用 moveTo 方法将窗口移动到左上角,接着使用 focus 方法将焦点设置到新打开的窗口中,最后使用 blur 方法将焦点从当前窗口移除。...

    Window.Open详解

    下面给出几个使用 `window.open()` 的示例: 1. **最简单的调用方式**: ```javascript window.open('page.html'); ``` 这将打开一个新的窗口并加载 `page.html` 页面。 2. **指定窗口名称**: ```javascript...

    window.showModalDialog模式对话框和 window.open的区别

    `window.showModalDialog` 和 `window.open` 都是JavaScript提供的两种打开新窗口的方法,但它们在功能和使用场景上有着显著的区别。 首先,我们来详细探讨`window.showModalDialog`。`showModalDialog`方法用于...

    window.open打开新窗口参数设置

    本文将深入探讨如何使用 `window.open()` 方法及其参数设置,帮助开发者更好地掌握此方法的用法。 #### 一、`window.open()` 基本用法 `window.open()` 方法的基本语法为: ```javascript var newWindow = window...

    javascript 打开页面window.location和window.open的区别.docx

    在JavaScript中,`window.location` 和 `window.open` 都是用来控制浏览器导航的重要API,但它们在使用场景、功能特性和行为上有显著的不同。了解这些差异对于合理地利用这两种方法至关重要。 #### 二、window....

    Open_Command_Window_Here_as_Administrator.7z

    将下面命令保存为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最大化操作

    那么,如何使用JavaScript的window.open方法来实现窗口的最大化呢? 首先,让我们来了解一下window.open方法的基本用法。window.open方法可以打开一个新的浏览器窗口,该方法接受三个参数:URL、窗口名称和窗口特性...

    Javascript中封装window.open解决不兼容问题

    对window.open进行封装, 使其更好用, 且更兼容, 很多人说window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行;看代码: 代码如下 var openWindow = function(url, options) { var str = ""; ...

    js弹窗并返回值(window.open方式)

    1. 使用`window.open`打开的新窗口中设置一个`window.opener`属性,这样新窗口可以与打开它的窗口进行通信。 2. 在新窗口中处理用户交互后,使用`window.close`关闭窗口,并在关闭前将结果通过`window.opener`通知原...

    javascript弹出窗口 window.open使用方法以及参数说明分析篇

    window.open使用方法以及参数说明一、window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 二、基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口...

    window.open打开新窗口,不被拦截的方法

    但是,在实际应用中,由于浏览器的安全策略限制(如弹出窗口拦截功能),直接使用`window.open()`可能会导致新窗口被浏览器自动拦截,从而无法正常显示。本文将详细介绍如何使用`window.open()`方法打开新窗口,并...

    window.open父子窗口传值问题

    在Web开发中,`window.open` 是一个JavaScript函数,它用于打开新的浏览器窗口或标签页。这个函数在处理用户交互,比如点击按钮打开新页面,或者在不同窗口间传递数据时非常常见。当我们谈论“window.open父子窗口...

    字符串 window.open() window.opener window.name window对象等的总结

    本篇文章将深入探讨`window.open()`、`window.opener`、`window.name`以及`window`对象的一些核心概念,同时通过两个带有注释的页面示例(001.html和main.html)帮助理解这些知识点。 ### `window.open()` `window...

    window.showModalDialog以及window.open用法简介

    Window.showModalDialog 和 Window.open 用法简介 Window.showModalDialog 和 Window.open 都是 JavaScript 中的方法,用于创建新窗口或对话框,下面分别介绍它们的用法和参数。 一、Window.open() 方法 Window....

    window.open的例子和使用方法以及参数说明

    windows.open这个是JavaScript函数,但是在应用起来的时候总会遇到比较多的麻烦,因为参数非常多,用法也非常的多

    window.open方法post请求

    使用window.open()方法发送post请求

Global site tag (gtag.js) - Google Analytics