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 相关文章推荐
Javascript 静态页面实现随机显示广告的办法
Nov 17 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
May 11 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
Jan 13 Javascript
详解Bootstrap插件
Apr 25 Javascript
JavaScript 是什么意思
Sep 22 Javascript
基于JavaScript实现右键菜单和拖拽功能
Nov 28 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
Dec 29 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
Jan 29 Javascript
Javascript下拉刷新的简单实现
Feb 14 Javascript
AngularJS路由切换实现方法分析
Mar 17 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
ES6 javascript中class静态方法、属性与实例属性用法示例
Oct 30 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
解析Ubuntu下crontab命令的用法
2013/06/24 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
修改file按钮的默认样式实现代码
2013/04/23 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
python实现从尾到头打印单链表操作示例
2020/02/22 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
国家助学金获奖感言
2014/01/31 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
运动会加油口号
2014/06/07 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
员工升职自我评价
2019/03/26 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python
Ajax实现异步加载数据
2021/11/17 Javascript
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers