window.open新进入窗口与新开内容页版权声明
原创最近正在使用window.open忽略细节问题时:window.open打开了一个新窗口,但有时会打开一个新的窗口,有时会打开新的选项卡。尽管对于一般需求来说这并不重要,但对于区分强烈的需求来说,这仍然需要引起重视。那么,这种不同的开局情况是如何发生的呢。window.open方法用法和不同浏览器的区别。
1、window.open用法的细节很容易被忽略。
window.open该方法有三个参数:
window.open(url, [name], [configuration])
其中:
- url, 对于要新打开的页面url
- name,新打开的窗口的名称,您可以通过此名称获取窗口对象。
- configuration,新打开的窗口的一些配置项,如是否有菜单栏、滚动条、长度和高度等。
例如,没有菜单栏、标题栏、工具栏,但有滚动栏、状态栏、地址栏和可伸缩窗口的新方法调用如下:
window.open("index.html","newWindow","menubar=0,scrollbars=1, resizable=1,status=1,titlebar=0,toolbar=0,location=1");
以上只是一个简短的描述。window.open方法,但这种方法很容易忽略的地方是: 除了以下值外,新打开的窗口的名称还可以是一个自定义值,带有超链接a的target属性值相同。
窗口name值
描述
_blank
默认情况下,在新窗口中打开链接。url
_self
在当前窗口中打开链接url
_parent
在父窗口中打开链接url
_top
在顶级窗口中打开url
framename
在指定的框架中打开链接。url
2、window.open打开新窗口或新选项卡
调用window.open打开一个新窗口或一个新标签并不重要,但当某些需求在这方面有强烈的意愿时,有必要区分它们。具体开口根据具体情况确定。以下结论是通过我自己的测试得出的。如果有任何错误,请批评和纠正。
1、window.open(url)或者window.open(url, name),其中name为_blank
- 标准浏览器,IE9+新标签是否打开链接url
- ie6-8是新的窗口打开链接url
2、window.open(url, name),其中name为非_blank的其他4个值
此时,指定的窗口或frame打开链接url
3、window.open(url, name, configration)
只需配置它configration,所有浏览器都是新的窗口打开链接url
3、使用window.open由可能被拦截的方法打开的窗口的替代方案。
现在一些浏览器可能会出于安全原因阻止它。window.open打开链接url,无论是作为标签还是作为窗口打开。此时,用户可能需要设置浏览器以允许播放新页面。用户设置浏览器是极不可取的,尤其是电子商务网站。还有其他选择吗?
答案当然是, 使用超链接打开url如果不被拦截,这是可以实现的。 这与事件手动触发机制一起完成。下面是 HTML:按下模拟链接,页面在新选项卡上打开,不使用。window.open(可能被拦截) 这个博客给出了一个简单的例子。本文中给出的事件分发机制适用于标准浏览器:

html>
itfan123