html a标签中的target属性

编码生活中,其实我真的很少注意到target这个属性的;

在a标签中,这个无非就是打开的一个方式罢了,默认是自己的窗口打开新的页面;

特殊的目标

有 4 个保留的目标名称用作特殊的文档重定向操作:

_blank

浏览器总在一个新打开、未命名的窗口中载入目标文档。

_self

这个目标的值对所有没有指定目标的 <a> 标签是默认目标,它使得目标文档载入并显示在相同的框架或者窗口中作为源文档。这个目标是多余且不必要的,除非和文档标题 <base> 标签中的 target 属性一起使用。

_parent

这个目标使得文档载入父窗口或者包含来超链接引用的框架的框架集。如果这个引用是在窗口或者在顶级框架中,那么它与目标 _self 等效。

_top

这个目标使得文档载入包含这个超链接的窗口,用 _top 目标将会清除所有被包含的框架并将文档载入整个浏览器窗口。

请注意:

它其实还有一个比较特殊的属性值,是我们忽略掉的;

<a href='url/index.html' id="urlJump" target="myHtml"></a>
 
我们可以自定义一个属性值,例如:myHtml,这样可以说是_blank的进阶版,虽然都是打开一个新的页面,
但是有这个自定义的属性值的话,第一次点击这个a标签是打开新的窗口,后面再次或者多次点击,浏览器都是切到这个已经打开的新的页面,神奇吧。
 
其实在js语句中也有一样功能的语句,那就是window.open()
window.open('url/index.html','myHtml')
可以达到一样的目的;
 

另外, open函数的第二个参数还有几种选择:

_top : 如果页面上有framesets,则url会取代framesets的最顶层, 即, 如果没有framesets, 则效果等同于_self.

_parent: url所指向的页面加载到当前frame的父亲, 如果没有则效果等同于_self.

_media : url所指向的页面加载到Media Bar所包含的HTML代码区域中.如果没有Media Bar则加到本身.

如果还要添加其它的东西在新的窗口上, 则需要第三个参数:

channelmode : yes|no|1|0  (窗口显示为剧场模式[全屏幕显示当前网页, 包括工具栏等],或频道模式[一般显示]).

directories :  yes|no|1|0 (是否添加目录按钮, 比如在IE下可能会有一个"链接"这样的按钮在最上面出现)

fullscreen : yes|no|1|0 (使浏览器处理全屏幕模式, 并隐藏标题栏和菜单等)

menubar : yes|no|1|0 (是否显示浏览器默认的菜单栏)

resizeable : yes|no|1|0 (窗口是否可调整大小)

scrollbars : yes|no|1|0 (是否允许水平或垂直滑动条)

titlebar : yes|no|1|0 (是否添加一个标题栏)

toolbar : yes|no|1|0 (是否添加浏览器默认的工具栏)

status : yes|no|1|0 (是否显示状态栏)

location : yes|no|1|0  (是否显示搜索栏)

copyhistory :  yes|no|1|0 (似乎已经废弃, 如果只要工具栏显示, 历史按钮就会显示出来)

height : 窗口的高度, 最小值为100像素

width :  窗口的宽度, 最小值为w100像素

left : 窗口的最左边相对于屏幕的距离

原文地址:https://www.cnblogs.com/zhilu/p/14963602.html