HTML";a「;目标名称相同的标记将继续打开新窗口

HTML";a「;目标名称相同的标记将继续打开新窗口,html,Html,我认为,通过在链接的target=属性上添加相同的名称,我将使所有此类链接在相同的命名浏览器窗口或选项卡中打开。至少在Chrome或Firefox中,情况似乎并非如此。相反,重复单击这些链接会在每次单击时创建另一个新的浏览器选项卡。如何将此类链接指向已存在的命名窗口?根据,您可以将target=“”设置为: _空白: 在新窗口或选项卡中打开链接的文档 _自我: 在单击链接文档的同一框架中打开链接文档(这是默认设置) _家长: 在父框架中打开链接的文档 _顶部: 在窗口的整个主体中打开链接的文档

我认为,通过在链接的
target=
属性上添加相同的名称,我将使所有此类链接在相同的命名浏览器窗口或选项卡中打开。至少在Chrome或Firefox中,情况似乎并非如此。相反,重复单击这些链接会在每次单击时创建另一个新的浏览器选项卡。如何将此类链接指向已存在的命名窗口?

根据,您可以将
target=“”
设置为:

  • _空白:
    在新窗口或选项卡中打开链接的文档
  • _自我:
    在单击链接文档的同一框架中打开链接文档(这是默认设置)
  • _家长:
    在父框架中打开链接的文档
  • _顶部:
    在窗口的整个主体中打开链接的文档
  • 或者(你在找什么)

  • 框架名称:
    在命名框架中打开链接文档

  • 我也遇到过这种行为。这是因为加载到目标窗口(Salesforce页面的URL)的文档正在通过window.name属性更改其窗口的名称。因此,下次浏览器尝试将URL加载到具有目标名称的窗口时,它找不到该窗口,因此打开了一个新窗口。

    作为先前答案的补充:

    如果您也在使用属性值,Chrome 87.0.4280.88将打开一个新选项卡,即使已经存在具有该目标的选项卡

    我完全摆脱了这种属性,并看到了预期行为的回归。唯一的
    target=
    值不会导致不必要地创建新选项卡,但会使用该目标值激活以前的选项卡

    请注意,Firefox(一款久负盛名的v79.0)在
    rel=“noreferrer”
    上没有这个问题,并且将为同一目标重新使用该选项卡。

    这似乎是一个“bug”,至少在Firefox、Chrome和Edge这三种常见浏览器中仍然存在。我发现以下内容不太容易理解:

    “…此功能不适用于所有浏览器和具有可变条件的浏览器。Firefox(50.0.1)功能如所述:从同一域+端口以相同名称重新打开将访问先前创建的窗口。另一方面,Google Chrome(55.0.2883.87 m)将仅从同一父级执行此操作(好像窗口是独立创建的,它是“开启者”)。这是一个广泛的限制,并产生了令人难以置信的开发复杂性……”


    因此,我想我们可以放心地说,这个功能在不同浏览器之间仍然不能可靠地工作。

    您可以发布示例代码,甚至是代码片段来重现这个问题吗?将您的目标属性值设置为_self,它就会工作。谢谢,但我不想将其设置为_self。我想在其他几个页面都运行时保持主页打开在同一(不同)窗口或选项卡中画笔。示例代码可能如下所示:一些东西…诸如此类。其想法是,单击任何“帮助”链接都应在同一“帮助窗口”中打开文档窗口或选项卡,而不是为每个窗口创建新选项卡-而原始文档保留在其原始窗口中。这样的代码实际发生的是,每次单击其中一个链接都会打开另一个新的选项卡/窗口,即使它们都指向同一命名窗口。我发现#5的作用与#1完全相同。也就是说,giving framename总是在新窗口或选项卡中打开链接的文档,即使已经存在以前使用相同framename打开的现有窗口或选项卡。我想这不是答案,因为David知道这一点,并询问为什么#5不起作用。。