<a> 元素,原英文单词为 anchor 的缩写,所以又称之为锚点元素。锚点元素的 href 属性用来创建通向其他网页、文件、同一页面内的位置、电子邮件地址或任何其他 URL 的超链接。
在这里,主要探讨锚点元素 rel 属性,该属性指定一个页面到另一个页面之间的关系。
创建一个 index1.html 和一个 index2.html,index1.html 有一个锚点元素,点击之后跳转到 index2.html 页面。
要在 index2.html 页面中获取到 index1.html 的 window 对象,index1.html 的锚点元素的 rel="opener"
和 target="_blank"
就必须一起出现。
rel 属性值默认为 noopener。所以,必须将 rel 属性值设置为 opener,否则无法获取上一个页面的 window 对象。
<!--index1.html-->
<a href="./index2.html" target="_blank" rel="opener">into a new page.</a>
BOM(浏览器对象模型)中的 window 对象的 opener 属性表示当前对象是由哪个跳转而来。在 index2.html 页面中,打开浏览器控制台输入 window.opener
,控制台将返回 index1.html 的 window 对象。
基于上面的探讨结果,我们进行一个实验:当跳转到另一个页面之后,利用 window.opener
让上一个页面进行重定向。
<!--index2.html-->
<script>
window.opener.location.href = '../../01.全局属性/01.accesskey/index.html';
</script>
效果如下,当发生页面跳转之后,上一个页面立马进行重定向。