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 相关文章推荐
DIV始终居中的js代码
Feb 17 Javascript
基于jquery实现发送文章到手机的代码
Dec 26 Javascript
javascript中createElement的两种创建方式
May 14 Javascript
浅谈JavaScript中指针和地址
Jul 26 Javascript
基于JavaScript实现在新的tab页打开url
Aug 04 Javascript
angular中的http拦截器Interceptors的实现
Feb 21 Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 Javascript
详解Angular 自定义结构指令
Jun 21 Javascript
ES6深入理解之“let”能替代”var“吗?
Jun 28 Javascript
JQuery判断正整数整理小结
Aug 21 jQuery
傻瓜式解读koa中间件处理模块koa-compose的使用
Oct 30 Javascript
vue实现浏览器全屏展示功能
Nov 27 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
php去掉文件前几行的方法
2015/07/29 PHP
php实现倒计时效果
2015/12/19 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
javascript各种复制代码收集
2008/09/20 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
python中文编码问题小结
2014/09/28 Python
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
windows下python安装小白入门教程
2018/09/18 Python
python批量解压zip文件的方法
2019/08/20 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
生态学毕业生自荐信
2013/10/27 职场文书
业务主管岗位职责范本
2013/12/25 职场文书
期终自我鉴定
2014/02/17 职场文书
职业生涯规划书范文
2014/03/10 职场文书
单位推荐信范文
2015/03/27 职场文书