所以我創造了這個新的線程這一個,因爲它是如此糟糕解釋,但被告知編輯這一個:獲取第一次加載的cookie
新文本
我需要接受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);
}
如果他這樣做,那麼我們插入它調用回調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;
}
現在你可以看到我設置函數內部筆者價值,所以我應該是能夠console.log出作者的價值並獲得正確的v Alue:
console.log(author)
我什麼也沒有返回,這是我現在卡住的地方。我想這是因爲setAutorCookie
如何在我console.log(author)
後運行,但我希望有人能幫助我,這是因爲author
是setAuthorCookie
的局部變量嗎?
經過一些測試後,我可以看到setAuthorCookie在最後一個console.log()之後運行,這就是爲什麼它是空的,但有人可以幫我改變這種情況嗎?
'setAuthorCookie'叫什麼?據我所知,它從未被使用過。我不會在這樣的函數範圍之外改變變量,這肯定會造成一些混淆。 –