繁体   English   中英

HTML WebView Android中的Cookie

[英]Cookie in html webview android

嗨,我需要知道如何在html Web视图上读取cookie。 我有一个要关闭的横幅,它将生成一个cookie,其想法是转到另一个页面,该页面上有横幅,他将阅读该cookie以查看用户是否已单击...

这是Cookie代码

 function createCookie() {
    var d = new Date();
    d.setTime(d.getTime() + (1*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = "cookie=cookie ; " + expires+';path = http://www.pitstop.com.br/';

    document.getElementById('banner_id').style.display='none';

 }

 function getCookie(cname) {

var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1);
    if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return null;
 }

 function banner_cookie(){

    var teste = getCookie('cookie');
    if(teste !=null){
        alert(teste);
        document.getElementById('banner_id').style.display='none';

    }else{
        document.getElementById('banner_id').style.display

    }

   }

您有许多问题似乎源于一厢情愿和误解。

例如,您的路径错误,您需要将名称传递给Cookie脚本,而不是硬编码名称“ cookie”

您需要使用经过良好测试的cookie脚本并正确使用它。

function getCookie(name) {
  var start = document.cookie.indexOf(name + "=");
  var len = start + name.length + 1;
  if ((!start) && (name != document.cookie.substring(0, name.length))) {
    return null;
  }
  if (start == -1) return null;
  var end = document.cookie.indexOf(';', len);
  if (end == -1) end = document.cookie.length;
  return unescape(document.cookie.substring(len, end));
}

function setCookie(name, value, expires, path, domain, secure) {
  var today = new Date();
  today.setTime(today.getTime());
  if (expires) {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date(today.getTime() + (expires));
  document.cookie = name + '=' + escape(value) +
    ((expires) ? ';expires=' + expires_date.toGMTString() : '') + //expires.toGMTString()
    ((path) ? ';path=' + path : '') +
    ((domain) ? ';domain=' + domain : '') +
    ((secure) ? ';secure' : '');
}
function deleteCookie(name, path, domain) {
  if (getCookie(name)) document.cookie = name + '=' +
    ((path) ? ';path=' + path : '') +
    ((domain) ? ';domain=' + domain : '') +
    ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

您的脚本:

function banner_cookie(){
  var teste = getCookie('showbanner')=="true";
  document.getElementById('banner_id').style.display=teste?"block":"none";
}

并设置:

setCookie("showbanner","true",14,"/"); // 2 weeks accessible to all website

并删除

deleteCookie("showbanner","/"); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM