Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1165412
  • 博文数量: 1310
  • 博客积分: 3980
  • 博客等级: 中校
  • 技术积分: 8005
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-09 22:05
文章分类

全部博文(1310)

文章存档

2011年(1)

2008年(1309)

我的朋友

分类:

2008-11-09 17:41:18



您的系统登陆后是否是全屏的?如果是,您是否发现当保持你已经登入的系统全屏窗口后再次通过系统登录时仍然是一个全屏窗口,或者直接全屏窗口变成白板?或者提示“拒绝访问”的js错误?

偶所在公司的一些项目都出现了这种问题,当一个系统在一个机器上同时登录多个帐号(弹出多次全屏窗口)时,新开的窗口会将之前的全屏刷成白板。开始以为是IE的bug,没多在意,之后发现很多人都提这个问题,于是决定去探究下是否有解决办法。想到window.open弹出全屏,首先想到是否窗口名冲突,开始查看window.open的调用,找到如下代码:
workspace = window.open(targetURL, "workspace""fullscreen=0,menubar=0,toolbar=0,directories=0,location=0,status=1,scrollbars=0");

想想不可能是workspace变量冲突,因为它只是一个页面级变量,新开的页面不会和之前页面定义的变量冲突,在看发现了window.open的第二个参数workspace,这个参数的意义之前我没有在意过,以为没有什么意义,突然感觉这个应该是代表窗口的名字,以便程序可以通过该名字来识别该窗口。如果定义了这个名字,那么在第二次弹出窗口时因为能找到workspace窗口所以并没有重新打开而是在workspace页面内重新写内容了。完全正确。之后偶特意写代码测试了。当然,这样就好解决了,只要把这个参数省略或定义不同的名字就可以解决这个问题。

看下面的测试:




Yemoo'S JS Blog 2007-09-27 09:21 发表评论
阅读(468) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~