javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法


Posted in Javascript onApril 12, 2014

在系统中,会一些地方使用javascript open window。比如打开固定模式的窗口,防止用户进行其他操作。

参数:

参数 | 取值范围 | 说明
alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后 
alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上 
depended | yes/no | 是否和父窗口同时关闭 
directories | yes/no | Nav2和3的目录栏是否可见 
height | pixel value | 窗口高度 
hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键 
innerHeight | pixel value | 窗口中文档的像素高度 
innerWidth | pixel value | 窗口中文档的像素宽度 
location | yes/no | 位置栏是否可见 
menubar | yes/no | 菜单栏是否可见 
outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度 
outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度 
resizable | yes/no | 窗口大小是否可调整 
screenX | pixel value | 窗口距屏幕左边界的像素长度 
screenY | pixel value | 窗口距屏幕上边界的像素长度 
scrollbars | yes/no | 窗口是否可有滚动栏 
titlebar | yes/no | 窗口题目栏是否可见 
toolbar | yes/no | 窗口工具栏是否可见 
Width | pixel value | 窗口的像素宽度 
z-look | yes/no | 窗口被激活后是否浮在其它窗口之上

实例:
window.open("page.html", "newwindow", "height=100, width=100, top=0,left=0,toolbar=no, menubar=no, scrollbars=no,resizable=no, location=no, status=no")

根据分辨率计算高度和宽度后打开:
var ht = screen.height-98;
var widhh = screen.width - 20;
window.opener = null;
window.open("", "_self");
window.open("Main.aspx", "newwindow" + JsGuid(),
"height=" + ht + ", width=" + widhh + ",
depended=yes,top=0,left=0,toolbar=no, menubar=no,
 scrollbars=yes, resizable=no, location=no, status=yes");window.close();

并关闭原来的窗口。

问题:

在window.open后,如果系统退出,再次使用window.open打开新页面的时候,会出现错误。

google了半天也没找到。一想这个问题应该不常发生肯定是配置的问题。

其中,我们可以看到window.open的第二个参数是新窗口的名字。这个名字是不能重复的。

如果重复了就是一直在这个窗口打开刷新。

所以我加了一个js的随机GUID函数。

function s4() {
    return Math.floor((1 + Math.random()) * 0x10000)
               .toString(16)
               .substring(1);
};
function JsGuid() {
    return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
           s4() + '-' + s4() + s4() + s4();
}

打开窗口的时候使用:window.open("Main.aspx", "newwindow" + JsGuid());
OK,问题解决。

 

Javascript 相关文章推荐
一个报数游戏js版(约瑟夫环问题)
Aug 05 Javascript
javascript学习笔记(十) js对象 继承
Jun 19 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
js关于字符长度限制的问题示例探讨
Jan 24 Javascript
jquery实现的网页自动播放声音
Apr 30 Javascript
原生JavaScript实现Ajax的方法
Apr 07 Javascript
Bootstrap三种表单布局的使用方法
Jun 21 Javascript
React Native中Navigator的使用方法示例
Oct 13 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
支付宝小程序tabbar底部导航
Nov 06 Javascript
VUE脚手架的下载和配置步骤详解
Apr 01 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
Jun 07 Javascript
jQuery中阻止冒泡事件的方法介绍
Apr 12 #Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 #Javascript
javascript事件冒泡详解和捕获、阻止方法
Apr 12 #Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
Apr 12 #Javascript
用jquery写的菜单从左往右滑动出现
Apr 11 #Javascript
瀑布流布局代码一例
Apr 11 #Javascript
javascript读写json示例
Apr 11 #Javascript
You might like
WINXP下apache+php4+mysql
2006/11/25 PHP
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
详解webpack分包及异步加载套路
2017/06/29 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
2019/04/11 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
在Python的Django框架中创建语言文件
2015/07/27 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
优秀英语专业毕业生求职信
2013/11/23 职场文书
初三化学教学反思
2014/01/23 职场文书
工作决心书范文
2014/03/11 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
三年级学生期末评语
2014/12/26 职场文书
团拜会主持词
2015/07/04 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
MySQL插入数据与查询数据
2022/03/25 MySQL
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
nginx访问报403错误的几种情况详解
2022/07/23 Servers