解决IE和FF获取Referer的JS方法
2012-11-28 14:58
507 查看
HTTP Header referer这玩意主要是告诉人们我是从哪儿来的,就是告诉人家我是从哪个页面过来的,可以用于统计访问本网站的用户来源,也可以用来防盗链。获取这个 东西最好的方式是js,如果在服务器端获取(PHP方法如:$_SERVER['HTTP_REFERER']) 不靠谱,人家可以伪造,用js获取最好,人家很难伪造,
方法:利用js的 document.referer 方法可以准确地判断网页的真实来路。 目前百度统计,google ads统计,CNZZ统计,都是用的这个方法。防盗链也很简单了,js里判断来路url如果不是本站不显示图片。
众所周知,我们web开发人员痛恨IE浏览器,因为IE不支持标准,标准外的默认行为又和其他浏览器经常不一致:
在IE中用javascript做跳转,比如用window.location.href = “”; google如果使用document.referrer无法取到浏览器请求的HTTP referrer,因为IE清空了
而其他主流浏览器Firefox和Chrome都会保留referrer,没办法,这意味着IE又要享受“部长级”特殊待遇了:
以下代码可以解决ie的这个问题:
//检测如果是ie浏览器,则手动的给增加一个referer
这样的原理就是给IE浏览器的页面偷偷加了个链接,然后自动点这个链接,于是referrer就能保留了。
方法:利用js的 document.referer 方法可以准确地判断网页的真实来路。 目前百度统计,google ads统计,CNZZ统计,都是用的这个方法。防盗链也很简单了,js里判断来路url如果不是本站不显示图片。
众所周知,我们web开发人员痛恨IE浏览器,因为IE不支持标准,标准外的默认行为又和其他浏览器经常不一致:
在IE中用javascript做跳转,比如用window.location.href = “”; google如果使用document.referrer无法取到浏览器请求的HTTP referrer,因为IE清空了
而其他主流浏览器Firefox和Chrome都会保留referrer,没办法,这意味着IE又要享受“部长级”特殊待遇了:
以下代码可以解决ie的这个问题:
//检测如果是ie浏览器,则手动的给增加一个referer
这样的原理就是给IE浏览器的页面偷偷加了个链接,然后自动点这个链接,于是referrer就能保留了。
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent) || /MSIE(\d+\.\d+);/.test(navigator.userAgent)){ var referLink = document.createElement('a'); referLink.href = url; document.body.appendChild(referLink); referLink.click(); } else { location.href = url; }
相关文章推荐
- 兼容IE和FF:获取Referer的JS和PHP方法 及 PHP利用curl伪造IP和来路
- 解决IE和Firefox获取来源网址Referer的JS方法
- PNG图片兼容IE和FF的解决方法—JS控制
- IE和FF在对js支持的不同(整理)及解决方法
- IE网页js语法错误2行字符1、FF中正常的解决方法
- IE网页js语法错误2行字符1、FF中正常的解决方法
- IE和FF在对js支持的不同及解决方法
- JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()
- JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()
- 解决js获取不到 dom.style.left 类似的属性( currentStyle(IE),defaultView(FF) 样式值 )
- JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()
- JavaScript js 兼容浏览器问题 兼容FireFox(FF)、IE的解决方法
- js获取textarea光标位置方法(兼容ie,ff)
- IE和FF在对js支持的不同及解决方法
- JavaScript js 兼容浏览器问题 兼容FireFox(FF)、IE的解决方法
- JavaScript js 兼容浏览器问题 兼容FireFox(FF)、IE的解决方法
- 转:IE和FF在对js支持的不同及解决方法
- javascript FF下因换行空白引起的第一个节点元素和IE不一致的解决方法~
- 关于VS05里checkboxlist用JS获取不到value值的解决方法(处女随笔)
- JS在IE和Firefox的不兼容问题解决方法总结