在第一次加载时获取饼干
Get cookie on first load
所以我为这个线程创建了这个新线程,因为它解释得太糟糕了,但被告知要编辑这个:
新文本
我需要从外部网站接收user_id。仅当用户从站点 B 访问站点 A 时,我才需要接收此消息。所以当他这样做时,我会把user_id保存在饼干中,那部分工作正常。但是当他第一次登陆页面时,我还需要获得cookie的值,所以让我尝试解释一下我是如何做到这一点的:
首先,我查看用户是否来自另一个域:
var ownDomain = location.hostname,
referrerDomain = document.referrer.split('/')[2],
author = '';
if ( ownDomain != referrerDomain) {
var script = document.createElement('script');
script.src = '//javascript.mamp/json/?callback=setAuthorCookie';
document.getElementsByTagName('head')[0].appendChild(script);
}
如果他这样做了,那么我们插入一个调用回调setAuthorCookie()
的 javascript ,看起来像这样:
function setAuthorCookie( data ) {
var exdate = new Date(),
exdays = 1,
value = data['userId'],
cookie = 'partnerOptimizerId',
exdate = new Date();
author = value;
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=cookie + "=" + c_value;
}
现在如您所见,我在该函数中设置了作者值,因此我应该能够控制台.log出作者的值并获得正确的值:
console.log( author )
我什么也没返回,这就是我现在卡住的地方。我想这是因为setAutorCookie
在我console.log( author )
后运行了一些,但我希望有人可以帮助我,是因为author
是setAuthorCookie
中的局部变量吗?
经过一些测试,我可以看到 setAuthorCookie 在最后一个控制台.log() 之后运行,这就是为什么它是空的,但有人可以帮助我如何改变它吗?
您仅在特定条件下从getCookie()
返回某些内容:
if (x==cookie)
{
return unescape(y);
}
因此,如果 x != cookie,则您的函数没有返回。因此,当你说var author = getCookie( 'partnerOptimizerId' );
,但getCookie()
不返回任何内容时,author
将是未定义的。
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在PHP中使用$_POST获取Select元素值
- 按名称获取饼干
- 如何获取整个网站的所有饼干
- 在第一次加载时获取饼干
- 如何获取文件.饼干工作正常