使用JavaScript打开一个弹出窗口,可以使用window对象的open()方法或showModalDialog()方法完成。

JavaBean类

public class ShowWindow {private String url;                 //打开窗口的链接地址private String openWindowStr="";  //用于保存打开窗口的JavaSript代码private int width;                    //打开窗口的宽度private int height;                    //打开窗口的高度private String functionName;       //打开窗口的JavaScript函数名public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getOpenWindowStr() {StringBuffer sb = new StringBuffer(openWindowStr);sb.append("<script language='javascript'>");sb.append("\r\n\t");                         //添加换行缩进sb.append("function "+this.functionName+"(){");   //添加函数名sb.append("\r\n\t\t");//打开一个窗口时,返回一个window类型的对象returnObj,可以根据此对象来调整窗口的位置sb.append("var returnObj = window.open('"+this.url+"','window','width="+this.width+"px,height="+this.height+"px');");     sb.append("\r\n\t\t");sb.append("var x=(screen.width-"+width+")/2;");  //screen对象表示屏幕,此处设置相对于屏幕的x坐标sb.append("\r\n\t\t");sb.append("var y=(screen.height-"+height+")/2;");//此处设置相对于屏幕的y坐标sb.append("\r\n\t\t");sb.append("returnObj.moveTo(x,y);");            //调用moveTo()方法改变窗口位置sb.append("\r\n\t}");sb.append("\r\n");sb.append("</script>");return sb.toString();}public void setOpenWindowStr(String openWindowStr) {this.openWindowStr = openWindowStr;}public int getWidth() {return width;}public void setWidth(int width) {this.width = width;}public int getHeight() {return height;}public void setHeight(int height) {this.height = height;}public String getFunctionName() {return functionName;}public void setFunctionName(String functionName) {this.functionName = functionName;}public static void main(String [] args){ShowWindow s = new ShowWindow();s.setFunctionName("openWindow");s.setUrl("index.jsp");s.setWidth(500);s.setHeight(500);System.out.println(s.getOpenWindowStr());}
}

OpenCenterWindow类

   public class OpenCenterWindow {/*****************************************功能:该方法将生成一个字符串,该字符串用于输出自定义的JavaScript函数(该函数用于打开指定大小的新窗口,并居中显示)****************************************/public String open(String url,String w,String h,String no){String str="<script language='javascript'>function openwin"+no+"(){";str=str+"if ("+w+"=='0'){var winhdc=window.open('"+url+"');";str=str+"var width=0;var height=0;}else{";str=str+"var winhdc=window.open('"+url+"','','width="+w+",height="+h+"');";str=str+"var width=(screen.width-"+w+")/2;";str=str+"var height=(screen.height-"+h+")/2;}";str=str+"winhdc.moveTo(width,height);";str=str+"}</script>";return str;}}

index.jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><!-- 导入打开窗口的JavaBean类 --><jsp:useBean id="myWindow" class="com.cn.zj.test.ShowWindow"></jsp:useBean><!-- 设置打开窗口的JavaScript函数名 --><jsp:setProperty property="functionName" name="myWindow" value="openWindow1"/><!-- 设置打开窗口的url地址 --><jsp:setProperty property="url" name="myWindow" value="window.jsp"/><!-- 设置打开窗口的宽度 --><jsp:setProperty property="width" name="myWindow" value="200"/><!-- 设置打开窗口的高度 --><jsp:setProperty property="height" name="myWindow" value="100"/><!-- 获得打开窗口的JavaScript函数字符串 --><jsp:getProperty property="openWindowStr"  name="myWindow" /><form action="window.jsp" method="post"><input  type="button" value="打开窗口" onclick="openWindow1()"/></form></body>
</html>

window.jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>打开窗口</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><style type="text/css">body{font-size: 15px;color:green;font-family: 隶书;background-color: pink;}</style></head><body>你好!我是被打开的新窗口!宽度200px,高度100px,居中显示。</body>
</html>

打开指定大小的新窗口相关推荐

  1. 打开指定大小的新窗体

    /// <summary>/// 打开指定大小的新窗体/// </summary>/// <param name="url">地址</pa ...

  2. webBrowser强制在本窗口打开,禁止在新窗口打开

    有时需要用WebBrowser加载URL,来实现某些功能.而这时,我们就不希望所打开的页面中的链接,在新窗口中打开,因为这样的话,实际上是用系统默认的浏览器打开了,从而脱离了你的WebBrowser, ...

  3. 电脑桌面点任何文件都打开计算机,电脑打开文件夹总是新窗口打开如何解决?...

    一般来说在电脑中打开文件夹中的文件夹会以同一个窗口来显示,这样也不会桌面杂乱无章了,但是有些朋友反馈慢脑打开文件夹就会新出现一个窗口,那么这是怎么回事呢.并且在文件夹选项中已经查看设置,确实是同一窗口 ...

  4. win7 64打开文件夹总是新窗口打开的解决办法

    机子重装系统后,每次打开文件夹都会弹出一个新的窗口,多打开几个窗口,整个桌面就满了.而且每次都要去关掉一个个文件夹,这给自己的工作带来了很大的麻烦.虽然使用资源管理器,在左侧单击展开文件夹也可以,但是 ...

  5. js打开新窗口,js打开居中窗口,js打开自定义窗口

    js打开新窗口,js打开居中窗口,js打开自定义窗口 ================================ ©Copyright 蕃薯耀 2018年8月16日 http://fanshuy ...

  6. 手机uc新窗口打开的html标签,在电脑UC浏览器的新窗口页中如何打开书签

    在电脑UC浏览器的新窗口页中如何打开书签 UC浏览器是一个很不错的查询资料的软件,我们可以在UC浏览器的新标签页中打开书签,那么如何打开呢?小编就来为大家介绍一下吧. 具体如下: 1. 第一步,双击并 ...

  7. ajax打开新窗口被浏览器拦截的解决办法

    最近在做支付时发现打开支付窗口时被浏览器拦截了,百度了一下才发现是因为打开窗口前用ajax验证是否能支付,所以不是用户主动触发的打开ixin窗口,浏览器认为这样不安全,所以给拦截了. 解决办法一 先开 ...

  8. js 浏览器新窗口打开

    **浏览器打开新窗口拦截,解决办法** 一.使用 window.open 新标签页打开 在函数中 先 **var newOpenWindow = window.open('about:blank')* ...

  9. 浏览器拦截js打开新窗口的解决方案

    今天技术大佬问了我一个问题:使用js在浏览器中打开新的窗口,什么时候会被拦截?什么时候不会被拦截? 一下给我问住了······· 于是上网百度的一波~ 常用的两种打开新窗口的方式 window.ope ...

最新文章

  1. winfrom里面使用类似于table的合并的控件_Flink集成iceberg数据湖之合并小文件
  2. binder-JAVA层机制
  3. 要你命3000List31
  4. android listview divider color,android listview 属性
  5. Mabtyis无侵入式编程
  6. 06.德国博士练习_08_query_dsl
  7. Java EE重新审视设计模式:观察者
  8. python的Web编程
  9. matlab中asix off_matlab中 hold on 与hold off的用法
  10. tcp转串口_单路RS232/422/485串口服务器产品介绍
  11. (转)C#封装CTP
  12. extremeComponents资料
  13. 数字孪生技术在智慧工厂中的应用,你知道多少?
  14. 直接创建和使用struct函数
  15. 解决Microsoft Store应用商店打不开 代码: 0x80131500
  16. es java 创建索引_Elasticsearch(ES) 创建索引
  17. Safari 浏览器扩展安装后未显示
  18. 3.超简单模仿算术题
  19. 云计算高级运维工程师
  20. 快递100企业版接口(API)实时查询、订阅推送、云打印、电子面单实现.Net版

热门文章

  1. BigData:绘制2018年福布斯中国富豪榜人名坐标地图(解决多个人名显示在同一个家乡地点)
  2. Solr分页与高亮(使用SolrNet实现)
  3. ASP.NET Core 1.1 Preview 1 简介(包含.NETCore 1.1升级公告)
  4. 洛谷U4807抽水机[最小生成树]
  5. 四种ASP网页跳转代码
  6. AsyncDisplayKit
  7. 【Hello CC.NET】巧用模板简化配置
  8. 在本地如何搭建虚拟主机(Appserver集成环境)
  9. 数据结构-排序(插入排序)
  10. VC学习笔记 -单选按钮控件(Ridio Button)的使用