简介
turboreferrer 是一个可以将网页中的外部链接中的 referrer 信息设置为 document.referrer
的 npm 包。通常情况下,当用户通过点击一条链接访问别的网站时,访问者的 referrer 是来自于当前网页的 url。turboreferrer 可以帮助我们解决这个问题。在本文中,我们将会介绍如何使用 turboreferrer 包,并且介绍这个包的原理。
安装 turboreferrer 包
您可以通过 npm 安装 turboreferrer 包:
$ npm install turboreferrer --save
集成 turboreferrer 包
您可以借助 Webpack 或者其他构建工具将 turboreferrer 库集成到您的 JavaScript 代码中。在 ES6 中,您可以使用以下方式使用 turboreferrer 命名导入:
import { turboreferrer } from 'turboreferrer';
您需要手动调用 turboreferrer
函数,它的第一个参数是 window.location.href
,第二个参数是要进行 referrer 转换的 DOM 元素,它会遍历整个元素树并且对每个符合要求的链接进行 referrer 转换。以下是完整示例:
-- -------------------- ---- ------- --------- ----- ------ ------ ----- ---------------- -------------------- --------------- ------- ------ -- -------------------------------------- ------- -------------- ------ - ------------- - ---- ---------------- ----------------------------------- --------------- --------- ------- -------
上述代码会将当前页面中所有的 a 标签的 referrer 属性设置成当前页面的 url (window.location.href)。
turboreferrer 包原理
turboreferrer 包的原理非常简单。当用户通过点击链接跳转到网站内其他页面时,referrer 属性通常指向前一个页面的 url。而 turboreferrer 包会把这个值设置为当前页面的 url. 它可以识别所有 DOM 树中的 链接元素,并且对它们的 referrer 属性进行重写。
总结
在正常情况下,referrer 属性指向前一个页面的 url。但是,在某些场景下,我们可能需要把它设置成当前页面的 url。turboreferrer 包可以帮助我们解决这个问题,让我们的网站能够更加安全地分享链接。在使用 turboreferrer 包的时候,建议尽可能的小心谨慎。因为在某些情况下,这种行为是会破坏网站的正常功能的。
希望这篇文章可以帮助您对 turboreferrer 包有一个更好的理解,并且在您的实际项目中能够更好地使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055a3f81e8991b448d7e0a