Chrome下的打开新窗口
一般点击打开新窗口,有几种方式:
1、超链接a 有href属性、target为_blank
2、iframe,其target为_blank
3、window.open<可能会被拦截,看用户的浏览器安全设置>
4、form表单提交,同样target也必须设为_blank
现在遇到一个需求:
做了一个后台运维管理系统<前台页面基于Extjs进行开发>,在点击datagrid头部一个按钮,需要打开一个新窗口
因为extjs运行效率比较低,所以选择使用chrome访问系统,而在操作些按钮的时候发现很多很奇特的现象,这些现象只出现在chrome中:
1、打开一个窗口后,些窗口不关闭,将无法打开多个窗口,即使原有窗口关闭
打开窗口的方式:window.open、form提交、iframe--表现上一致
2、页面中原本就有一个form,每次操作就修改里面一个参数,设置其值为随机数,亦不行
改用window.open还发现一个问题,就是弹出的窗口是没有工具栏和地址栏的,且不在新选项卡中打开
后来搜索到一篇文章,有所启发,就有了如下的代码:
var nwin = window.open();
nwin.location = ‘xxxx’;//需要打开的地址
如果使用ajax请求地址后面的参数的话,需要将ajax改为同步,不然弹出的窗口会在新窗口中打开,而且没有工具栏和地址栏的