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 相关文章推荐
IE和Firefox在JavaScript应用中的兼容性探讨
Apr 01 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
jquery删除数据记录时的弹出提示效果
May 06 Javascript
javascript实现点击后变换按钮显示文字的方法
May 13 Javascript
js中获取 table节点各tr及td的内容简单实例
Oct 14 Javascript
js仿京东轮播效果 选项卡套选项卡使用
Jan 12 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
May 02 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
Jan 20 Javascript
详解js实时获取并显示当前时间的方法
May 10 Javascript
JSONObject与JSONArray使用方法解析
Sep 28 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的ob_start();控制您的浏览器cache!
2006/11/25 PHP
用PHP获取Google AJAX Search API 数据的代码
2010/03/12 PHP
PHP句法规则详解 入门学习
2011/11/09 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP实现添加购物车功能
2017/03/06 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
PHP实现八皇后算法
2019/05/06 PHP
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
pyqt4教程之widget使用示例分享
2014/03/07 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
亲属关系公证书
2014/04/08 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
国防教育标语
2014/10/08 职场文书
汽车转让协议书
2015/01/29 职场文书
鼋头渚导游词
2015/02/05 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
Redis入门教程详解
2021/08/30 Redis
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python