我知道_blank
在与锚标签一起使用时会打开一个新的标签,而且,我在使用框架集时也会使用一些自定义的目标,但我想知道_parent
、_self
和_top
之间的区别.
我知道_blank
在与锚标签一起使用时会打开一个新的标签,而且,我在使用框架集时也会使用一些自定义的目标,但我想知道_parent
、_self
和_top
之间的区别.
虽然这些答案很好,但我不认为它们完全解决了这个问题.
锚标签中的target属性告诉浏览器锚的目的地的目标.它们最初的创建目的是操纵文档的框架系统,并将其定向到文档的框架系统.这是在CSS帮助HTML开发人员之前很久的事了.
而浏览器默认为target="_self"
,最常见的目标是在新窗口中打开锚点的target="_blank"
(通常已通过浏览器设置重定向到选项卡)."_parent"
、"_top"
和framename
标签对于那些不熟悉iFrame站点建设这一趋势的人来说是一个谜.
target="_self"
这将在同一帧中打开一个锚.令人困惑的是,因为我们通常不再在框架中编写代码(frame
和frameset
标记在HTML5中已经过时),所以人们认为这是一个相同的窗口功能.相反,如果该锚点嵌套在框架中,它将以某种Sandbox 模式打开,这意味着仅在该框架中打开.
target="_parent"
将打开框架的下一层(如果它们相互嵌套到另一个内部)
target="_top"
这会在嵌套的所有框架之外断开链接,并在浏览器窗口中作为顶级文档打开链接.
target="framename
这项功能最初已弃用,但在HTML5中又被重新引入.这将以所讨论的确切帧为目标.而name
是正确的方法,该方法已经被使用id
识别标签所取代.
<!--Example:-->
<html>
<head>
</head>
<body>
<iframe src="url1" name="A"><p> This my first iframe</p></iframe>
<iframe src="url2" name="B"><p> This my second iframe</p></iframe>
<iframe src="url3" name="C"><p> This my third iframe</p></iframe>
<a href="url4" target="B"></a>
</body>
</html>