window.open 浏览器差异.
浏览器实现差异:
| 浏览器 | 无参数 | width,height | left,top | toolbar | location |
Directories
|
Status
|
Menubar |
Scrollbar
|
Resizable
|
screenX,screenY
|
FullScreen |
| 期待结果 | 有标签的 标签 无标签的 弹窗 |
尽量按指定 宽高弹窗 |
语义冲突的参数 相对parent页 left ,top位置 |
默认 无工具栏 yes 有工具栏 no 无工具栏 |
默认 有(r) yes 有(w) no 无 (r)只读,(w)可写 |
这玩意到底 是神马? 只有IE6支持 无期待结果 |
默认 无 yes 有 no 无 |
垃圾参数 无视. 只对早期 ie有效 |
默认auto yes auto no 无 |
默认 是 yes 是 no 否 |
真正语义上的参数 相对屏幕坐标 |
全屏显示 |
| IE | 6 弹窗
7-8 弹窗 9 标签 |
全部 ok | (注1) | 全部
默认无 yes 有
no 无 |
6 默认 无 yes 有(w) (toolbar也有了) no 无 7,8,9 |
6 toolbar去掉 location部分 7,8,9不支持 |
6,7,8 无视参数 始终 有 9 |
全部 无视参数 始终 无 |
全部 默认 否 yes 是 no 否 |
不支持 | 全部 支持 |
|
| Chrome | 全部 标签 | 全部 ok | 全部相对
父页面
left,top |
不支持此参数 弹窗木有工具栏 |
不支持此参数
始终有,且只读 |
不支持 | 无status bar | 1 无视参数 始终 无 2+ |
不支持此 参数,一律 可缩放 |
完全 ok | 不支持 | |
| FireFox | 1, 1.5 弹窗
2.0+ 标签 |
全部 ok |
全部 top 相对屏 幕 |
默认无
yes 有
no 无 |
1, 1.5, 2 默认 无 yes 有(r) no 无 3+ |
不支持
|
无视参数 始终 有 |
无视参数
始终 无
|
2- 默认 否 yes 是 no 否 3+ |
完全 ok
|
3.6- 不支持 4 |
|
| Safari | 3+ 弹窗 (Safari5 偏好设置 ,在标签中打开新 页面, 选项有-总是 ,永不,自动.默认是 永不.导致此问题.) |
3+ ok |
全部
left 相对父页面 (但当父窗体left的
位置导致新窗体不
能全部显示时,则
新窗体left,相对屏
幕为0,与ie7有些
相似)
top 相对屏幕
|
默认无
yes 有
no 无 |
默认 无 yes 有(w)(但 工具栏也有了) no 无 |
不支持
|
默认 无
yes 有 no 无 |
无视参数
始终 无
|
不支持此
参数,一律 可缩放 |
完全 ok
|
不支持
|
|
| Opera | 9.2+ 弹窗 | 9.2 tab
9.6+
标签(有宽高,可拖
拽.但无法离开父
窗口)
|
9.6+
相对父页面
的left,top
9.2 标签
|
9.2 tab
9.6+ 因其本质 |
9.2 tab
9.6+ 因其本质
是tab所以无视 此参数.共享 location
|
不支持
|
9.2 tab
9.6+ 因其本质
是tab所以无视 此参数.共享 statusbar
|
无视参数
始终 无
|
不支持此
参数,一律 可缩放 |
不支持
|
不支持
|
|
| 360安全 | 3.3+ 标签
3.612 弹窗 |
3.612 弹窗(无视 宽高参数parent 页面多大新弹窗 就多大) 其他版本 标签 |
3.612 left top 和parent页面 有关,但位置算 法很混乱. 其他版本 标签
|
3.612 弹窗无视 一切参数.显示 一个完整窗口 其他版本 标签
|
.. | .. | .. | .. | .. | .. | .. | .. |
| 360高速 | 两种内核都 标签 | IE内核 标签
chromium都 ok |
chromium
同chrome
其他内核 标签
|
..
|
.. | .. | .. | .. | .. | .. | .. | .. |
| 搜狗高速 | 两种内核都 标签 |
两种内核都 标签
|
标签
|
.. | .. | .. | .. | .. | .. | .. | .. | .. |
| TT | 标签 | 标签 |
标签
|
.. | .. | .. | .. | .. | .. | .. | .. | .. |
| QQ5 | 两种内核都 标签 |
两种内核都 标签
|
标签
|
.. | .. | .. | .. | .. | .. | .. | .. | .. |
| Maxthon2.5 | 标签 |
标签
|
标签
|
.. | .. | .. | .. | .. | .. | .. | .. | .. |
| Maxthon3 | 两种内核都 标签 | 两种内核都 标签 |
标签
|
.. | .. | .. | .. | .. | .. | .. | .. | .. |
| 世界之窗 | 标签 |
标签
|
标签
|
.. | .. | .. | .. | .. | .. | .. | .. | .. |
| MyIe | 标签 |
标签
|
标签
|
.. | .. | .. | .. | .. | .. | .. | .. | .. |
第二参数target(name)相关:
用途:
如果已经存在一个窗口对象的name为abc.则后面再次window.open(url,'acb')的话.那么只会操作这个窗体对象的url,导致跳
转或reload(false).无论它是iframe还是一个被open的独立的窗体
差异:
.IE下name的值为null 或 undefined时,行为与其他浏览器有差异. 等价于 'null' 或 'undefined' .在期望打开多个窗口,又想设置其他窗口参数时,参数设置此2值.会被视为有效的name值. (解决办法,使用 '' 空字符,或'_blank'代替 null 或 undefined. 建议用优先考虑空字符,因为某些浏览器的早期版本不支持 _blank)
.Opera,Chrome 下,如果一个iframe的id,与window.open的第二参数name同名.也具备同样效果. 其他浏览器则无此现象.
.Opera9.6+ ,如果在另一个iframe内调用其self.open的第二参数name与其他iframe的name或id同名,则仍然会重新打开一个窗口. 而不是去操作该iframe.其他浏览器则无此问题
IE7. left 相对的位置,总是相对非最大化时,父页的left+10px左右偏移.(就是非最大化时,显示在哪,最大化时,就显示在哪.但并不总是相对非最大化时的父窗口left,比如在父窗口left很靠右的情况下,则其会新窗口会变成相对屏幕来显示)
IE8. left,top全部相对屏幕
IE9. left 同IE6类似top 相对屏幕总是0
window.open 浏览器差异.的更多相关文章
- 几个JavaScript的浏览器差异处理问题
JQuery确实是个很好用的库,你可以不用考虑很多细节方面的事情.但很作为一个web前端,处理和了解浏览器差异一个重要问题.下面将介绍一些总结,先介绍没有使用js库的情况. 1. setAttribu ...
- Javascript不同浏览器差异及兼容方法
原文链接:http://caibaojian.com/js-ie-different-from-firefox.html javascript的各种兼容就是为了解决不同浏览器的差异性,了解其中的差异能 ...
- 【转】window.scroll 浏览器滚动条的参数总结
如内容超出单元格,则隐藏style="TABLE-LAYOUT: fixed" 让弹出窗口总是在最上面: <body onblur="this.focus();&q ...
- polyfill-eventsource added missing EventSource to window ie浏览器 解决方案
今天遇到一个 ie浏览器显示空白,报错内容是: polyfill-eventsource added missing EventSource to window的问题, import 'babel-p ...
- JavaScript Window History 浏览器的历史
window.history 对象在编写时可不使用 window 这个前缀. 为了保护用户隐私,对 JavaScript 访问该对象的方法做出了限制. 一些方法: history.back() - 与 ...
- window.open浏览器弹出新窗口被拦截—原因分析和解决方案
最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,在本机实验没问题,到了服务器就被拦截了,火狐有拦截提示,360浏览器拦截提示都没有,虽然在自己的环境可以对页面进行放行,但是对用户 ...
- window.hostory(浏览器的历史记录)
浏览器会对同一个窗口(选项卡)中访问的网页进行记录,不管我们是通过以下哪种方式改变网页,浏览器都会把改变后的网页记录下来,以便通过浏览器的前进和后退按钮,能够快速的切换到已经访问过的网页: 1)直接 ...
- jquery-ajax-async之浏览器差异
最近的PC项目遇到了一个问题,日志记录程序会在1s内多次发起对首页的请求,一时间没有找到原因. 简单描述一下问题:访问一个首页的时候,由于代码质量不高的原因,访问就连接数据库,但是同时存在的问题是一秒 ...
- 浏览器差异bug汇总(js篇)
获取滚动条高度 var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; safari浏览器时间函数 ...
随机推荐
- HICON泄漏
通常,我们使用的HICON对象只需用DestroyIcon后就不存在内存泄漏了,但是当我们使用GetIconInfo后会发现程序GDI资源存在泄漏,原因是GetIconInfo会产生2个HBITMAP ...
- delete void pointer
delete void pointer是否会有内存泄漏? 看下面一个简单例子 class Test{ public: Test(){ printf ("constructor\n" ...
- 使用 IntraWeb (15) - 基本控件之 TIWEdit、TIWMemo、TIWText
TIWEdit //单行文本框, 通过 PasswordPrompt 属性可以作为密码框 TIWMemo //多行文本框 TIWText //相当于多行的 TIWLabel 或不能编辑的 TIWMem ...
- 关于 C 语言,我喜欢和讨厌的十件事
前言:最近有个家伙抱怨道“为什么我还要再用C?”-虽然我不同意他的说法,但至少他随口提到如果你“在一台拇指大小的电脑”上编程,或者为一门语言写引导程序,那么可以用C语言.要我说,写设备驱动,或者特定平 ...
- 点在多边形内算法,C#判断一个点是否在一个复杂多边形的内部
判断一点是否在不规则图像的内部算法,如下图是由一个个点组成的不规则图像,判断某一点是否在不规则矩形内部,先上效果图 算法实现如下,算法简单,亲试有效 public class PositionAlgo ...
- Virtualenv教程
虚拟环境简介 VirtualEnv用于在一台机器上创建多个独立的Python虚拟运行环境,多个Python环境相互独立,互不影响,它能够: 在没有权限的情况下安装新套件 不同应用可以使用不同的套件版本 ...
- poj2115
构造出模线性方程c * x = b - a mod (2 ^ k) 很容易解. 利用LRJ书上的方法. #include <iostream> using namespace std; # ...
- SRM 449 DIV 1 总结(550p标记下,下次做)
今天的250p搞得有点久了,500p是个类似铺瓷砖的dp题,这样先占个坑,给个poj的这类题列表,下次刷完了回来做! POJ 相关DP列表 http://blog.csdn.net/jayye1994 ...
- 怎样连接REDIS服务端
怎样连接REDIS服务端 REDIS服务器是TCP/IP SERVER,因此客户端要访问,必须先同服务器建立SOCKET连接,然后才可以发送各种REDIS COMMAND(指令). 首先要引用单元文件 ...
- jQuery Pagination分页插件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...