Android浏览器不尊重cookies被禁用
Android browser not respecting cookies disabled
我正在运行Android Honeycomb 3.2.1,我遇到了让浏览器停止接受cookie的问题。我有以下代码:
first.html:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="cookie.js"></script>
<script type="text/javascript">
setCookie('testing','test cookie',365);
window.location.href = 'second.html';
</script>
</head>
<body>
</body>
</html>
second.html:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="cookie.js"></script>
<script type="text/javascript">
var temp = getCookie('testing');
alert(temp);
</script>
</head>
<body>
</body>
</html>
cookie.js:
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^'s+|'s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
return null;
}
现在,如果我关闭cookie并在任何桌面浏览器上访问first.html,我将获得重定向并得到一个警告,如预期的那样显示为null。
如果我打开cookie并在任何桌面浏览器上访问first.html,我将获得重定向并得到一个警告,如预期的那样说"test cookie"。
现在,如果我在禁用cookie的Android平板电脑上运行此程序,它总是在警报中返回"test cookie"。不管我有没有饼干都没关系。我试过更改设置,删除cookie和缓存,重新启动浏览器,甚至重新启动平板电脑,所有的结果都是一样的。
我遇到了同样的问题-我们最终在服务器上检查cookie并返回HTTP错误代码,如果cookie未设置
您可以尝试用服务器端代码检查它。例如,如果您正在使用JSP。你可以在onLoad或$(document).ready(){}:
中执行此操作<%
String cookieAllowed = "false";
Cookie cookie = new Cookie ("username","value");
cookie.setMaxAge(365 * 24 * 60 * 60);
response.addCookie(cookie);
String cookieName = "username";
Cookie cookies [] = request.getCookies ();
Cookie myCookie = null;
if (cookies != null)
{
//If true then cookies are not null
cookieAllowed = "true";
}
%>
if(! <%=cookieAllowed%>)
{
window.location = "/static/nocookies.html";
}
%>
我相信其他服务器端脚本也应该工作。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 有时数据是't显示在浏览器中
- 使图像在单击时展开到不大于浏览器
- fetch() 函数未在 Ubuntu Chromium 浏览器上定义
- 不同浏览器中的空白字符正则表达式行为
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何临时暂停浏览器渲染,然后恢复整个页面
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 禁用(而不是隐藏)浏览器滚动条
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- IE9 cookies不工作一旦浏览器关闭和打开
- Android浏览器不尊重cookies被禁用
- Cookies在浏览器中安全
- 如何设置chrome浏览器允许本地cookie ?——enable-file-cookies