没有合适的资源?快使用搜索试试~ 我知道了~
javascript操作referer详细解析
3 下载量 158 浏览量
2020-10-26
04:24:54
上传
评论
收藏 79KB PDF 举报
温馨提示
试读
3页
本篇文章主要是对javascript操作referer进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
资源推荐
资源详情
资源评论
javascript操作操作referer详细解析详细解析
本篇文章主要是对javascript操作referer进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
Referrer的重要性的重要性
HTTP请求中有一个referer的报文头,用来指明当前流量的来源参考页。例如在www.sina.com.cn/sports/上点击一个链接到达
cctv.com首页,那么就referrer就是www.sina.com.cn/sports/了。在Javascript中,我们可以通过document.referrer来获取同样
的信息。通过这个信息,我们就可以知道访客是从什么渠道来到当前页面的。这对于Web Analytics来说,是非常重要的,这
可以告诉我们不同渠道带来的流量的分布情况,还有用户搜索的关键词等,都是通过分析这个referrer信息来获取的。
但是,出于各种各样的原因,有时候Javascript中读到的referrer却是空字符串。下面总结一下哪些情况下会丢失referrer。
修改修改Location对象进行页面导航对象进行页面导航
Location对象是一个用于页面导航的非常实用的对象。因为他允许你只变更Url的其中一部分。例如从cn域名切换到com域名,
其他部分不变:
复制代码 代码如下:
window.location.hostname = "example.com";
但是,通过修改Location进行页面导航的方法,会导致在IE下丢失Referrer。
IE5.5+ 下返回空字符串
Chrome3.0+,Firefox3.5,Opera9.6,Safari3.2.2均正常返回来源网页
window.open方式打开新窗口方式打开新窗口
示例:
复制代码 代码如下:
<a href="#" onclick="window.open('http://www.google.com')">访问Google</a>
点击此链接会在新窗口打开Google网站,我们在地址栏中输入以下js代码就可以看到发送的referrer了。
复制代码 代码如下:
javascript:alert(document.referrer)
测试结果:
IE5.5+ 下返回空字符串
Chrome3.0+,Firefox3.5,Opera9.6,Safari3.2.2均正常返回来源网页
如果是同个域名下通过此方式跳转的,那么我们可以通过访问windoww.opener对象去获取丢失的referrer信息。代码如下:
复制代码 代码如下:
<script type="text/javascript">
var referrer = document.referrer;
if (!referrer) {
try {
if (window.opener) {
// IE下如果跨域则抛出权限异常
// Safari和Chrome下window.opener.location没有任何属性
referrer = window.opener.location.href;
}
}
catch (e) {}
}
</script>
跨域的话则没辙了~
鼠标拖拽打开新窗口鼠标拖拽打开新窗口
鼠标拖拽是现在非常流行的用户习惯,很多浏览器都内置或者可以通过插件的方式来支持鼠标拖拽式浏览。但是通过这种方式
打开的页面,基本全都丢失referrer。并且,这种情况下,也无法使用window.opener的方式去获取丢失的referrer了。
已测试:
资源评论
weixin_38653296
- 粉丝: 2
- 资源: 911
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功