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 相关文章推荐
window.open的功能全解析
Oct 10 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
JavaScript类型系统之布尔Boolean类型详解
Jun 26 Javascript
JavaScript Ajax实现异步通信
Dec 14 Javascript
JavaScript实现反转字符串的方法详解
Apr 27 Javascript
Vue 自定义指令实现一键 Copy功能
Sep 16 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 Javascript
Javascript实现鼠标点击冒泡特效
Dec 24 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
Apr 24 Javascript
微信小程序实现弹幕墙(祝福墙)
Nov 18 Javascript
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 Vue.js
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 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
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
python实现探测socket和web服务示例
2014/03/28 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python hmac模块使用实例解析
2019/12/24 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
Python通过Pillow实现图片对比
2020/04/29 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
keras导入weights方式
2020/06/12 Python
详细分析Python collections工具库
2020/07/16 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
高中美术教学反思
2014/01/19 职场文书