360浏览器和猎豹浏览器重定向后丢失get参数
1.场景:
step1: 用户请求项目 http://localhost:8080/myProject
step2: 我们的服务器将请求重定向到一个静态页面,并拼接上部分参数,如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<%
response.sendRedirect(request.getContextPath() + "/myPage.html?params=UAleQlsJEQkaEhkFGh0TBRoZEwUcEwkHCV5GSkgJEQlpExsTbxxoE2oZHRMJBwlbSERPTgkRCRofGhoZHBkaEhsbGxsaCQcJT0JPCREJSh9NSRNPGx5PHBwSGxsbGxsbCQcJQlhJSlkJEQllCQcJXU5ZZV5GCREJGQUbBR0FGh0aGhocCVY=");
%>
</body>
</html>
step3:将请求连同参数引导的指定的地址
2. 问题:
猎豹浏览器 和 360绿色浏览器(手机版,右下角有个小叉叉的)多次请求会丢失params参数
3.问题排查
猎豹浏览器经过多次测试,发现只要清除缓存并且重新打开浏览器,或者第一次访问的时候都是可以正确获取到参数的
于是我猜测,可能是浏览器对相同的请求做了某些处理,于是我们在重定向的地方做了下面的更改,
给请求添加一个时间戳,保证每次请求都是不一样的
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<%
long timStr = System.currentTimeMillis();
response.sendRedirect(request.getContextPath() + "/myPage.html?params=UAleQlsJEQkaEhkFGh0TBRoZEwUcEwkHCV5GSkgJEQlpExsTbxxoE2oZHRMJBwlbSERPTgkRCRofGhoZHBkaEhsbGxsaCQcJT0JPCREJSh9NSRNPGx5PHBwSGxsbGxsbCQcJQlhJSlkJEQllCQcJXU5ZZV5GCREJGQUbBR0FGh0aGhocCVY=&timeToken="+timStr);
%>
</body>
</html>
经过测试,这样修改的确解决了猎豹浏览器的参数丢失的问题,但是360绿色浏览器(手机版,右下角有个小叉叉的)还是会出现参数丢失的问题
目前还没有找到360的原因,路过的童鞋如果也遇到过类似问题,或者如果有好的思路,希望留下你们宝贵的建议
更正,今天发现,这款绿色浏览器并非360浏览器,虽然图标很像,但是发布人并不是某某公司,浪费了几天时间,不过终归是有所收获的
360浏览器和猎豹浏览器重定向后丢失get参数的更多相关文章
- 用js识别是否360浏览器
360浏览器说实话比较恶,以前可以通过内核返回的字符串判定是否包含"360"字样的方法来判定 如以下代码 window.navigator.userAgent.indexOf('3 ...
- Selenium调用使用360浏览器,QQ浏览器,遨游浏览器,猎豹浏览器,Chromium
国产的360安全浏览器,360急速浏览器,QQ浏览器,遨游浏览器甚至新版还未上市的Edge浏览器都是基于Chrome浏览器的开源版本Chronium开发来的.所以360浏览器可以理解为一个定制的Chr ...
- react中密码自动填充及解决火狐浏览器,360浏览器记住密码后,密码框自动填充终极解决方案
先直接上核心代码如下: 在火狐浏览器,360浏览器,初次加载,bug长这样: 如果你想通过生命周期componentDidMounted等生命周期进行置空操作都是不行的,这可能是浏览器自带的特性记住密 ...
- 安装loadrunner11,卸载360浏览器后提示“无效的应用程序路径!请检查应用程序是否存在!”
我安装的loadrunner是11版本的,安装之前我的电脑上有安装了很多的浏览器,结果一开始录制脚本的时候,页面直接跳转到360浏览器上面了,但是显示正在录制的脚本为0个,于是就把360给卸载了,进行 ...
- js+jquery检测用户浏览器型号(包括对360浏览器的检测)
做网站,js检测用户浏览器的版本,是经常要使用到,今天自己写了一个js,完成了对于一些常见浏览器的检测,但是,偏偏对于360浏览器的检测没有任 何办法,研究了一会儿,无果.无论是360安全浏览器,还是 ...
- 内核控制Meta标签:让360浏览器默认使用极速模式打开网页(转)
为了让网站页面不那么臃肿,也懒的理IE了,同时兼顾更多的国内双核浏览器,在网页页头中添加了下面两行Meta控制标签. 1,网页头部加入 <meta name="renderer&quo ...
- css解决谷歌,360浏览器默认最小字体为12px问题
当我们设置前台html页面样式问题字体小于12px;时,会发现不管怎么设置小于12px字体,在谷歌.360浏览器上都不生效. 但在火狐等浏览器上却可以正常设置,当你打开谷歌360的设置后会发现,它们设 ...
- 兼容ie[6-9]、火狐、Chrome、opera、maxthon3、360浏览器的js本地图片预览
html代码: <div id="divPreview"> <img id="imgHeadPhoto" src="Images/H ...
- 漏洞大爆光:QQ漏洞、飞秋漏洞、360浏览器劫持…
随着互联网应用的高速发展,信息安全已深入到诸多领域,前段时间发生的"Struts 2"漏洞及"心脏出血"漏洞影响了二亿中国网民的信息安全.原因是程序猿缺少细致的 ...
随机推荐
- magento中文语言包的使用
magento中文语言包的使用,我们在百度上随便就能找到一大堆. 由于本人今天是第一次使用magento,找到目录magento/app/locale 并且用语言包中的locale文件夹替换掉mag ...
- 环信 之 iOS 客户端集成四:集成UI 之 会话列表
1. 初始化 EaseConversationListViewController *chatListVC = [[EaseConversationListViewController alloc] ...
- jQuery的$(window).load与、(document).ready和window.onload的关系
jQuery的$(window).load与.(document).ready和window.onload的关系 $(function() { console.log('document.ready ...
- JSP/Servlet(一)
JSP/Servlet(一) Web应用和web.xml文件: 一.构建Web应用: 1.在任意目录下创建一个文件夹. 2.在第1步所建的文件夹内建一个WEB-INF文件夹(注意大小写). 3.进 ...
- easyui message show中msg嵌入一个按钮如何绑定事件
http://www.oschina.net/question/945028_171927
- mybatis springmvc调用oracle存储过程,返回记录集
参考: http://bbs.csdn.net/topics/390866155 辅助参考: http://www.2cto.com/kf/201307/226848.html http://blog ...
- ajax数据交互(arcgis server)
通过ajax来调用服务器map数据,来实现搜索功能. 效果: 1.我要搜索下中国移动的地理信息: 2.会搜出17条消息,然后把他们分页显示,一页6条: 3.每一页的6天数据,会在map生成一个6条ma ...
- java虚拟机启动参数整理
java启动参数 共分为三类其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不 ...
- windows服务用脚本无法启动
1.创建windows服务工程 工程名:ServiceDemo 2.添加加载启动及卸载服务脚本 加载及启动批处理: @echo off if exist "%SystemRoot%/Micr ...
- 使用php实现网站验证码功能【博主推荐】
验证码是网站常用的一项安全措施,也是新人站长较难掌握的一项技能,这里我向大家介绍一简单有效的验证码实现方法. 开始之前 在正式开始之前我们需要打开php的gd2图形库支持(在php. ...