如何使弹出窗口居中

时间:2013-01-28 04:37:23

标签: javascript dojo

我有一个jsp页面,它在utility.js文件中调用函数getModify()。该函数执行一些操作并使用window.open()将一些值重定向到下一个jsp页面。 我正在获取另一个jsp页面作为弹出窗口..如何获取屏幕的弹出窗口中心。

我的jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script src="script/Utility.js" data-dojo-config="parseOnLoad: true"></script>
</head>
<body>
<div dojotype="dijit.MenuBarItem" id="SearchMenu21" onclick="getModify();" style="font-size:11pt;" title="menuBarItem">
               <img class="images" id="SearchMenu21" name="search5.png" onclick="setImgProperty(this.id)" src="images/uploads/search.png" style="height:20px; width:20px;">
               Modify
</div>
</body>
</html>

这是我的utility.js文件:

function getModify(){
    var whereCondn = "";
    //alert(gbshowgridFlag);
    if(dijit.byId('dynamicgridCWPROCESS')){
        var selctedItem = dijit.byId('dynamicgridCWPROCESS').selection.getSelected();
        if(selctedItem.length){
            dojo.forEach(selctedItem, function(selectedItem){
                if(selectedItem !== null){
                    dojo.forEach(dijit.byId('dynamicgridCWPROCESS').store.getAttributes(selectedItem), function(attribute){
                        var value = dijit.byId('dynamicgridCWPROCESS').store.getValues(selectedItem, attribute);
                        //alert(value);
                        if(attribute == "PROCESS_ID"){
                            whereCondn = whereCondn+attribute+"="+value;
                        }
                        //alert("new alert"+whereCondn);
                        window.open("modifyTask.jsp?MODIFY="+response,'title','height=600px,width=800px,scrollbars=no,sizable=yes,toolbar=no,statusbar=no');
                    });
                }
            });
            //alert("grid row selected");
        }else{
            alert("grid row not selected");
        }
    }
    if(gbshowgridFlag==false){
        alert("grid not loaded");
    }
}

2 个答案:

答案 0 :(得分:1)

您还可以为弹出窗口传递“顶部”和“左侧”属性。

window.open( “modifyTask.jsp?MODIFY =” +响应, '标题', '高度= 600像素,宽= 800像素,滚动条=无,可观=是,工具栏=没有,状态栏=无,顶部=' + topVar +',left ='+ leftVar);

使用基于screen.height的计算,以及最佳弹出窗口大小来决定topVar和leftVar

答案 1 :(得分:0)

请尝试:

var x = screen.width / 2 - 800 / 2;
var y = screen.height / 2 - 600 / 2;
window.open("modifyTask.jsp?MODIFY="+response,'title' ,'height=600px,width=800px,scrollbars=no,sizable=yes,toolbar=no,statusbar=no,left=' + x + ',top=' + y);