【发布时间】:2015-03-23 23:02:54
【问题描述】:
我有一个网站,如果设置了 cookie,它不应该显示广告,cookie 有效期为 24 小时。在浏览器、移动浏览器等上一切正常,但如果用户从 iOS 上的 Facebook 应用程序(客户端)打开我网站的 url(还不能在 Android 上探测它),cookie 可以工作,但每个 url 都会生成,因此广告会在每个页面首次加载时展示。应该仅在 24 小时内每次首次加载网站时进行。
同样,这只发生在 Facebook 移动应用程序上(据我所知是 iOS)。这是我生成 cookie 的代码。
// Cookie functions
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);
}
}
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires + "; path=/; domain=.site.com;";
}
function checkCookie(cname) {
var cookie=getCookie(cname);
if (cookie) {
return true;
}else{
return false;
}
}
那么导致这种行为的原因是什么?
【问题讨论】:
标签: javascript android ios facebook cookies