随录3

46 阅读1分钟

超链接点击,打开新页面-rel属性妙用,但主要是危害性大

<p>
    <a href="./target.html" target="_blank" rel="opener">目标页面</a>
</p>

  • target.html页面的JS:
    const opener = window.opener;
    if (opener) {
        opener.location.hash = '#hack';
        opener.document.body.insertAdjacentHTML('beforeend', '<span style="position:absolute;outline:solid red;font-size:100px;left:calc(50% - 2.5em);top:208px;">哈哈哈,💩</span>');
    }
    
    设置`rel="noopener"` ,这样新页面无法通过 `window.opener` 访问原页面,防止了钓鱼攻击。
    

    如果超链接按钮添加了rel属性,那么可以在新开页面获取到原页面的信息,甚至操作一些非法数据

    document.referrer

    在JavaScript中,*document.referrer*属性用于获取当前页面的上一个页面的URL地址,也就是用户是从哪个页面跳转过来的。这个属性返回的是一个字符串,包含了来源页面的完整URL。

    只在同一个窗口中打开预览的演示页面

<a href="./preview.html" target="_preview" type="primary" class="ui-button">预览</a> 设置_preview,就不会出现打开几次就新建几个页面tab了

a 标签设置 download="xxx.png" 就会触发下载

a标签 天然支持数据上报

<a href="http://www.xxxVideo.com.cn/" ping="/uploadClickTimes">上报</a> 在需要统计点击次数,访问次数的地方,可以直接写上ping属性

img + map + area 组合形成可交互图片

image.png

area 中href 地址也就是点击后跳转的路径可以是hasg,也可以是具体的链接