説明が下手だったので、この新しいスレッドを作成しましたが、これを編集するように言われました。
新しいテキスト
外部 Web サイトから user_id を受け取る必要があります。ユーザーがサイト B からサイト A にアクセスした場合にのみ、これを受け取る必要があります。しかし、彼が最初にページにアクセスしたときに 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 アウトして正しい値を取得できるはずです。
console.log( author )
私は何も返しません。これは、私が今行き詰まっているところです。setAutorCookie
I の後にいくつかの方法が実行されるためだと思いますがconsole.log( author )
、誰かがこれについて私を助けてくれることを望んでいました.author
のローカル変数だからsetAuthorCookie
ですか?
いくつかのテストの後、 setAuthorCookie が最後の console.log() の後に実行されることがわかります。それが空である理由ですが、誰かがそれを変更する方法を手伝ってくれますか?