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 使用技巧精萃(.net html
Apr 25 Javascript
JavaScript DOM 学习第三章 内容表格
Feb 19 Javascript
JavaScript中的细节分析
Jun 30 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 Javascript
BootStrap表单控件之文本域textarea
May 23 Javascript
JS中原始值和引用值的储存方式示例详解
Mar 23 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
Jul 25 Javascript
微信小程序之自定义组件的实现代码(附源码)
Aug 02 Javascript
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 Javascript
js实现select下拉框选择
Jan 11 Javascript
vue 实现锚点功能操作
Aug 10 Javascript
Javascript中Microtask和Macrotask鲜为人知的知识点
Apr 02 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
source.php查看源文件
2006/12/09 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
详解PHP PDO简单教程
2019/05/28 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
python去掉字符串中重复字符的方法
2014/02/27 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
Otel.com:折扣酒店预订
2017/08/24 全球购物
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
优秀班集体先进事迹材料
2014/05/28 职场文书
八年级英语教学计划
2015/01/23 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
药房管理制度范本
2015/08/06 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
golang中的struct操作
2021/11/11 Golang