window.open新进入窗口与新开内容页版权声明

原创
小哥 3年前 (2022-11-11) 阅读数 11 #大杂烩

最近正在使用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>

Title

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除