wumi_blog
wumi_blog copied to clipboard
document.referrer和window.opener 获取页面来源路径
document.referrer
referrer 属性可返回载入当前文档的文档的 URL。
只有当用户在上一个页面点击链接到达当前页面,document.referrer才会有值当用户输入这一页的网址、通过response.redirect、用了ssl这些情况referrer都会为空。 另外,其必须通过http协议使用。否则不能得到返回值,即值为空。
window.opener
Returns a reference to the window that opened this current window.
When a window is opened from another window (using Window.open), it maintains a reference to that first window as window.opener. If the current window has no opener, this method returns NULL.
// 获取页面来源路径 let ref = ''; if (document.referrer.length > 0) { ref = document.referrer; } try { if (ref.length == 0 && opener.location.href.length > 0) { ref = opener.location.href; } } catch (e) { //console.error(e); ref = '' }
请求头中的 referrer
项目中引用了外链图片, 在本地页面里用img标签访问页面图片返回403 forbidden。 而浏览器可以直接打开. 应该好像是他们的服务器做了处理(防盗链)
由于可以直接从浏览器打开,就简单设置了个 meta标签
<meta name="referrer" content="no-referrer" />
隐藏请求来路