接触到<base>标签是因为做一个界面跳转时用到window.showmodaldialog方法,但是使用window.showmodaldialog 跳转的界面每次操作都会打开新的界面,查了一下找到 <base target="_self">这个方法来解决这个问题,顺便了解了一下这个<base>标签,发现还是比较有趣的,有前辈们已经总结的很好了在这就引用记录学习一下。
<base> 标签为页面上的所有链接规定默认地址或默认目标。通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。
<base target="_self">中target就是点击链接后跳转到的目标页。通俗点说,就是你当前页面上的链接<a>,也包括<img>、<link>、<form>,除非你指定了target,如<a heft="" target="_blank">链接一</a>,否则都会按照<base target="_self">的规定在_self(本页面)打开。这个base target=""还可以是top、_blank、parent或者其他frame名称。
<base target=_blank>//在空白页打开
<base target=_parent>//在当前页的上一页(父亲)打开
<base target=_search>//在浏览器地址栏打开
<base target=_self>//在当前页打开
<base target=_top>//在最初(祖先)页打开