获取页面来源URL ,源页面URL,Request.UrlReferrer为空的问题
2013-02-28 16:52
447 查看
最近遇到获取源页面URL遇到问题,整理了一下
获取页面来源URL,对于访问来源统计,防盗链等地方,用处很大。一般我们用 Request.UrlReferrer 方法获取源页面URL但是对于页面通过IE
1. window.open,
2. window.location.href,
3.location.replace(),等方式跳转时,获取为空值,只有在<a href=>有效。据说 IE浏览器referrer清空了。所以获取不到
解决方案
1. 对于window.location.href,location.replace()跳转方式,思路是这样,通过js创建一个a标签代替跳转
如代码(源页面代码)
Javascript代码
HTML调用
(目标页面代码)
获取可以直接用Request.UrlReferrer 得到源页面
2.当window.open时,因为window.open是唯一可以打开一个没工具栏,状态栏的页面的方法,所以某些情况下是不可替代的
(源页面代码)
Javascript代码
HTML调用
(目标页面代码)
获取页面来源URL,对于访问来源统计,防盗链等地方,用处很大。一般我们用 Request.UrlReferrer 方法获取源页面URL但是对于页面通过IE
1. window.open,
2. window.location.href,
3.location.replace(),等方式跳转时,获取为空值,只有在<a href=>有效。据说 IE浏览器referrer清空了。所以获取不到
解决方案
1. 对于window.location.href,location.replace()跳转方式,思路是这样,通过js创建一个a标签代替跳转
如代码(源页面代码)
Javascript代码
function Redirect(url) { //获取浏览器用户代理 var userAgent = navigator.userAgent.toLowerCase(); var is_opera = userAgent.indexOf('opera') != -1 && opera.version(); var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3); //如果是IE浏览器 if (is_ie) { //创建A标签 var referLink = document.createElement('a'); referLink.href = url; document.body.appendChild(referLink); //模拟点击 referLink.click(); } else { //其他浏览器不变 location.href = url; } }
HTML调用
<a onclick="Redirect('Default1.aspx')"> 自改代码 </a>
(目标页面代码)
获取可以直接用Request.UrlReferrer 得到源页面
2.当window.open时,因为window.open是唯一可以打开一个没工具栏,状态栏的页面的方法,所以某些情况下是不可替代的
(源页面代码)
Javascript代码
function Redirect(url) { //打开一个无状态栏的页面 window.open(url,'','toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no'); }
HTML调用
<a onclick="Redirect('Default1.aspx')"> 自改代码 </a>
(目标页面代码)
function getFrom() { //获取源页面地址;window.opener 为获取window.opener源页面的BOM对象 var url =window.opener.location; //获取本页面地址 var localUrl=window.location.href.toString(); window.alert("来源地址:"+url+" 本地址:"+localUrl); }
相关文章推荐
- 防止盗链问题:Javascript从A页面跳到B页面,B页面无法获取A页面网址来源,即B页面的Request.UrlReferrer为null
- ASP.NET 页面通过url传递参数,另一页面通过Request.QueryString获取参数为乱码问题
- 为什么点击flash链接到本页面,Request.Referrer将无法获得url来源
- 解决window.location.href切换页面造成的Request.UrlReferrer=null的问题
- js从后台获取数据时,防止页面缓存问题,url后加时间戳
- nginx配置转发后,jsp页面用request.getserverPort获取端口为80的问题
- ASP.Net 返回上一个页面(Request.UrlReferrer)
- Request.UrlReferrer 在IE浏览器下JS 转向无法 提取到来源页
- ASP.NET使用Request获取来源网址URL参数
- Request获取URL各种信息的方法及Request.UrlReferrer的使用
- ASP.NET使用Request获取来源网址URL参数
- JS获取上一访问页面URL地址document.referrer实践
- ASP.NET使用Request获取来源网址URL参数
- ASP.NET使用Request获取来源网址URL参数
- Request.UrlReferrer 同Request.Url获取数据
- 返回上一页面地址 HttpContext.Current.Request.UrlReferrer.ToString()
- FLEX中如何获取当前页面的URL的问题
- Request获取URL各种信息的方法及Request.UrlReferrer的使用
- ASP.NET使用Request获取来源网址URL参数
- dhl:Request.Url asp.net获取当前页面的url地址