首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据url参数设置Cookie

根据url参数设置Cookie
EN

Stack Overflow用户
提问于 2015-04-23 00:58:06
回答 2查看 23.8K关注 0票数 3

我需要设置一个cookie,每当用户点击我们的代销商链接之一,并在我们的网站与"src=uni“在网址土地。URL将如下所示:

http://www.myadmin.com?src=uni&utm_source=uni&utm_content=[publisher_ID]

创建cookie的函数:

代码语言:javascript
复制
 function SetCookie() {
            var url = window.location.href;
            if(url.indexOf('?src' + uni) = 1)
                document.cookie="QueryCookie";
    }

有人能告诉我,在基于查询参数创建这个Cookie时,我哪里出错了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-23 01:03:54

这里有几件事:

代码语言:javascript
复制
function SetCookie() {
    var url = window.location.search;
    if(url.indexOf('?src=uni') !== -1)
        document.cookie="src=uni";
}

1)使用location.search缩小范围,不是必须的,但错误的空间较小。

2)使用!== -1测试indexOf方法。如果没有找到匹配项,indexOf将返回"-1“。如果在字符串开头找到匹配项,则返回"0“。字符串是“零索引”,这意味着字符串中的第一个字符位于位置"0“。

3)添加等号=和参数名称:src=

4)此外,如果这是您要查找的,请使用字符串"uni“,而不是名为uni的变量。如果"src“可以是各种值,那么我们需要添加更多的逻辑来说明这一点。

5)当赋值给document.cookie时,使用键/值对,如:key=value

票数 2
EN

Stack Overflow用户

发布于 2015-04-23 01:00:28

你需要解决的第一件事是:

代码语言:javascript
复制
if(url.indexOf('?src' + uni) = 1)

应该是(这检查它是否存在于索引1处):

代码语言:javascript
复制
if(url.indexOf('?src=' + uni) === 1)

或者(这会检查它是否存在)

代码语言:javascript
复制
if(url.indexOf('?src=' + uni) !== -1)

接下来,您需要将src设置为uni,并使其可供整个站点访问:

代码语言:javascript
复制
document.cookie="src="+uni+"; path=/; domain=.myadmin.com";

添加路径=/和domain=.myadmin.com将允许您在该域上的所有路径上访问cookie,域部分允许在所有子域上访问它(即www.myadmin.com以及blog.myadmin.com等)

因此,所有这些都是:

代码语言:javascript
复制
    function SetCookie() {
        var url = window.location.href;
        if(url.indexOf('?src='+uni) !== -1)
            document.cookie="src="+uni+"; path=/; domain=.myadmin.com";
    }

以下是一些基本信息:

http://www.w3schools.com/js/js_cookies.asp

或者更深入、更准确的文档:

https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29804219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档