跳转到另一个网站之后,如何跳转回原来的站点并保留原来的信息
2017-04-25 00:00
281 查看
摘要: 用JS返回的方式完成网站携带原始信息的回退。
环境
百度云应用、原生PHP、ThinkPHP
步骤
1、维护一个不能再维护的老网站,比较实际的方法是“新功能另起炉灶,搭建新网站,让它们看起来像是同一个网站”。然而随之带来的问题是,新老网站的切换。我正在添加功能的一个老网站每个页面都设置了以SESSION的某些值为标记的登陆检查,用URL方式反链接回去,所有之前的信息全部丢失,由此开始想解决办法。
2、解决办法
2.1、将用户信息SESSION的项以POST的形式传输给新网站,这种方法理论上是可行的,然而实际上面临两个问题:首先,老网站是否允许向外部POST(我的就卡在这里了,老网站的ThinkPHP框架不允许);其次,只能保证最主要的下次继续登陆,不能实现其他访问信息的恢复;
2.2、利用COOKIS保留的浏览信息,使用JS实现回退。这样一则可以保留大部分浏览信息,二则简便易行,具体实现方法在下一部分介绍。
3、实现方法
3.1、记录访问的深度
从老站访问到新站以后,需要记录在新站访问的深度,方便JS回退。我这里就用PHP新建了一个SESSION变量,每新访问新站的一个页面,自动加一。
3.2、防止刷新
刷新不改变深度,却有可能改变记录深度的值,因此,我们需要防止因刷新改变的深度。这里我用的办法是,不同新站不同页面切换赋予SESSION变量一个不同的值,并用另一个SESSION变量保留其旧值,只有在两个值不同时才增加记录深度。
3.3、防止只打开新站
由于新站也是一个独立的网站,可以单独访问,因此需要确定新站是否由老站打开,如果是再开始计数,否则,不设置SESSION变量,这里就需要用到PHP的获取前一个URL的功能。
这里仅提醒需要注意的地方,具体判断逻辑根据需要会有不同。
3.4、JS回退到老站
这里用到的方法是绑定按钮和JS函数,当点击按钮时,调用系统回退函数,回退到指定深度的页面。
到这里,就大功告成了。
环境
百度云应用、原生PHP、ThinkPHP
步骤
1、维护一个不能再维护的老网站,比较实际的方法是“新功能另起炉灶,搭建新网站,让它们看起来像是同一个网站”。然而随之带来的问题是,新老网站的切换。我正在添加功能的一个老网站每个页面都设置了以SESSION的某些值为标记的登陆检查,用URL方式反链接回去,所有之前的信息全部丢失,由此开始想解决办法。
2、解决办法
2.1、将用户信息SESSION的项以POST的形式传输给新网站,这种方法理论上是可行的,然而实际上面临两个问题:首先,老网站是否允许向外部POST(我的就卡在这里了,老网站的ThinkPHP框架不允许);其次,只能保证最主要的下次继续登陆,不能实现其他访问信息的恢复;
2.2、利用COOKIS保留的浏览信息,使用JS实现回退。这样一则可以保留大部分浏览信息,二则简便易行,具体实现方法在下一部分介绍。
3、实现方法
3.1、记录访问的深度
从老站访问到新站以后,需要记录在新站访问的深度,方便JS回退。我这里就用PHP新建了一个SESSION变量,每新访问新站的一个页面,自动加一。
3.2、防止刷新
刷新不改变深度,却有可能改变记录深度的值,因此,我们需要防止因刷新改变的深度。这里我用的办法是,不同新站不同页面切换赋予SESSION变量一个不同的值,并用另一个SESSION变量保留其旧值,只有在两个值不同时才增加记录深度。
3.3、防止只打开新站
由于新站也是一个独立的网站,可以单独访问,因此需要确定新站是否由老站打开,如果是再开始计数,否则,不设置SESSION变量,这里就需要用到PHP的获取前一个URL的功能。
if(strstr($_SERVER['HTTP_REFERER'],"oldwebsite")){ $_SESSION['count'] = 1; }
这里仅提醒需要注意的地方,具体判断逻辑根据需要会有不同。
3.4、JS回退到老站
这里用到的方法是绑定按钮和JS函数,当点击按钮时,调用系统回退函数,回退到指定深度的页面。
<script> $(function() { $("#backold").click(function(){ window.history.go(-count);//count记录深度 }); }); </script> <ul class="nav navbar-nav"> <li><button id="backold">返回老站</button></li> </ul>
到这里,就大功告成了。
相关文章推荐
- android中如何添加一个监听按钮,点击之后从一个activity跳转到另一个activity
- 新闻发布系统 笔记1 当我们换了电脑 或者文件夹更改了地址 之后 如何打开 原来的网站系统
- 如何在第一次打开网站弹框,之后在跳转过来就不打开
- 如何让UIView中的Button点击之后跳转到另一个ViewController上去,ViewController上也有一个按钮 可以返回
- 如何避免网站个人信息被搜索引擎搜到
- Xcode升级到5之后,iphone的iOS7模拟器的大小和mini一样大 又如何使用原来的模拟器
- UIAlertView点击确定后,如何跳转到storyboard中创建的另一个UIViewController?
- Java-如何挖取某个网站中的ajax请求信息
- 网站访问高峰之后,如何回收已占用的swap分区
- QML跳转页面之后如何屏蔽上一个页面的按钮区域事件
- 企业网站如何去做好信息框架-www.bjrp.com
- 如何在分类信息网站发布高质量外链?
- 如何关闭访问https站点时的信息安全提示
- 针对aspx木马可以读取iis站点信息,跨网站目录的临时解决方法
- 通过poi获取到了商店的地理位置之后,如何获取商店的详细信息。是需要商店提供还是地图提供
- 如何在 Internet 信息服务中为所有与您的网站交互的用户启用 SSL
- PHP提交表单失败后如何保留填写的信息
- 如何通过微信自定义菜单跳转到自己的网站
- [技术分享 - ISA 篇] 如何通过ISA2006发布网站时实现URL跳转
- 如何跳转到另一个activity并且关闭当前的activity