gpt4 book ai didi

javascript - 如何检测 Javascript 中是否设置了 cookie?

转载 作者:行者123 更新时间:2023-12-02 17:52:53 25 4
gpt4 key购买 nike

我已经在 PHP 中设置了一个 session ,它正在创建一个 cookie:PHPSESSID...我可以使用 document.cookie 在 Chrome 和 Opera 中检测到这一点。然而,在 Forefox 中,document.cookie 还返回其他域在页面上设置的 cookie,例如谷歌分析。

在 PHP 中,我将 session 设置为:

session_start();
$_SESSION['source'] = &$ref['source'];
$_SESSION['term'] = &$ref['term'];
session_write_close();

我需要能够通过定位 cookie 来检测此 session 是否是在 Javascript 中设置的。解决这个问题的最佳方法是什么?

目前我正在使用:

document.cookie.indexOf( 'PHPSESSID' )

这看起来有点糟糕。

最佳答案

document.cookie 属性将返回所有 cookie。虽然你的indexOf可以工作,但如果你的cookies实际数据包含“PHPSESSID”,它就会崩溃。它还将匹配以下 cookie“MYPHPSESSIDIDIT”,因为它包含您的 cookie 名称。

您可以使用以下函数解析 cookie(未测试):

function getCookieValue(name)
{
// find cookie entry in middle?
var s=document.cookie,
c=s.indexOf("; "+name+"=");

if(c==-1)
{
// no, is it at the start?
c=s.indexOf(name+"=");
if(c!=0) return null;
}

// get length of value
var l=c+name.length+1,
e=s.indexOf(";",l);

// is it at the end?
if(e==-1) e-s.length;

// cut out the value
return s.substring(l,e);
}

希望这有帮助

关于javascript - 如何检测 Javascript 中是否设置了 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21208980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com