首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >与目标的HTML链接

与目标的HTML链接
EN

Stack Overflow用户
提问于 2015-08-03 21:57:20
回答 3查看 1.1K关注 0票数 3

我以前在另一个地方问过这个问题,但没有收到任何有用的答复。

HTML链接上的"target“属性的一个可能用途是指定一个命名窗口,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
    <a href="somepage.html" target="mySpecialWindow">Click here</a>

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

但是现有的浏览器(火狐浏览器、Chrome浏览器等)别这么做。如果在具有特定(相同)窗口名称的链接上使用目标属性,单击这些链接将打开一个新的单独窗口,每次单击都会打开一个新窗口,即使目标名称是相同的。换句话说,它的行为与使用target="_blank“完全一样。

为什么会这样呢?如果命名一个窗口与使用target="_blank“完全相同,那么有能力命名目标窗口又有什么意义呢?

是否有任何方法可以使链接实际上使用已以同名打开的现有窗口,而不是打开另一个窗口?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-03 22:08:01

你试过用Javascript吗?

代码语言:javascript
代码运行次数:0
运行
复制
//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
EN

Stack Overflow用户

发布于 2015-08-03 22:03:22

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

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

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

Stack Overflow用户

发布于 2015-08-03 22:04:46

属性"target“允许将文档加载到页面上的特定框架/iframe中。在这些“标签时代”,它远不是窗口,而是视图--子文档的容器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31797434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档