目标为

时间:2015-08-03 21:57:21

标签: html hyperlink target

我之前在另一个地方问了这个问题并没有得到有用的回复。

"目标"的可能用途之一HTML链接上的属性是指定命名窗口,如:

    <a href="somepage.html" target="mySpecialWindow">Click here</a>

大概是命名目标的原因,而不是仅使用&#34; _blank&#34;,是因为您希望能够为其他链接引用该SAME窗口。例如,假设您有一个主页面,您希望始终保持在视图中,该主页面包含指向多个帮助页面的链接,并且您希望所有这些帮助页面都在特定的辅助窗口中打开。因此,单击第一个帮助链接将打开辅助窗口,单击第二个帮助链接将辅助窗口的内容替换为不同的帮助页面,单击第三个帮助链接将再次替换该辅助窗口的内容等。

但是现有的浏览器(Firefox,Chrome等)不会这样做。如果在链接上使用具有特定(相同)窗口名称的目标属性,则单击这些链接会在每次单击时打开一个新的单独窗口,即使目标名称相同也是如此。换句话说,它的行为就像你使用target =&#34; _blank&#34;。

这是为什么?如果命名窗口的行为与使用target =&#34; _blank&#34;完全相同,则能够命名目标窗口的重点是什么? ?

有没有办法让链接实际上使用一个用同一个名字打开的现有窗口而不是打开另一个窗口?

3 个答案:

答案 0 :(得分:1)

您是否尝试过使用Javascript?

//You keep a reference to the window
var mySpecialWindow = undefined;

function openInSameWindow(url)
{
    //First time opening
    if ( typeof( mySpecialWindow ) === "undefined" )
    {
        mySpecialWindow = window.open(
            url,
            "mySpecialWindow",
            "width=300, height=250"
        );
    }

    //Use existing popup window/tab
    else mySpecialWindow.location.href = url;

    return false;
}

//html
<a href="#" onclick="openInSameWindow('http://someurl.com')">first link</a>
<a href="#" onclick="openInSameWindow('http://someotherurl.com')">second link</a>

答案 1 :(得分:0)

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a

  

此属性指定显示链接资源的位置。在HTML4中,这是框架的名称或关键字。在HTML5中,它是浏览上下文的名称或关键字(例如,选项卡,窗口或内联框架)。以下关键字具有特殊含义:

  • _self:将响应加载到与当前HTML4框架(或HTML5浏览上下文)相同的HTML4框架中。如果未指定属性,则此值为默认值。
  • _blank:将响应加载到新的未命名的HTML4窗口或HTML5浏览上下文中。
  • _parent:将响应加载到当前帧的HTML4框架集父级或当前框架的HTML5父级浏览上下文中。如果没有父项,则此选项的行为与_self相同。
  • _top:在HTML4中:将响应加载到完整的原始窗口中,取消所有其他帧。在HTML5中:将响应加载到顶级浏览上下文(即,作为当前浏览上下文的浏览上下文,并且没有父级)。如果没有父项,则此选项的行为与_self相同。

答案 2 :(得分:0)

属性“target”允许将文档加载到页面上的特定frame / iframe中。它在这些“标签日”中远离窗口,而是视图 - [子]文档的容器。