所以我为这个创建了这个新线程,因为它解释得太糟糕了,但被告知要编辑这个:
新文本
我需要从外部网站接收 user_id。如果用户从站点 B 来到站点 A,我只需要收到此消息。因此,当他这样做时,我将该 user_id 保存在 cookie 中,该部分工作正常。但是我还需要在他第一次登陆页面时获取 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);
}
如果他这样做,那么我们插入一个调用回调的 javascript,setAuthorCookie()
如下所示:
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;
}
现在你可以看到我在该函数中设置了作者值,所以我应该能够控制台注销作者的值并获得正确的值:
console.log( author )
我什么都不返回,这就是我现在卡住的地方。我想这是因为setAutorCookie
在我之后运行了一些方法console.log( author )
,但我希望有人可以帮助我,是因为author
是局部变量setAuthorCookie
吗?
经过一些测试,我可以看到 setAuthorCookie 在最后一个 console.log() 之后运行,这就是为什么它是空的,但有人可以帮助我改变它吗?