2017-08-25 3 views
3

Facebookからの到着時にのみ、商品ページのユーザーに特定のDIVを表示したいと考えています。現時点で FacebookからのユーザーにのみDIVを表示

は、私は、彼らがFacebookのから来ていることを確認するためにこれを使用しています:うまく動作するようだが、彼らが最初に別のページを訪問している場合は動作しません

var ref = document.referrer; 

if (ref.match(/^https?:\/\/([^\/]+\.)?facebook\.com(\/|$)/i)){ 
    console.log('User arrived from Facebook') 
    } else { 
     console.log('User DID NOT arrive from Facebook') 
    } 

。だから彼らは商品ページに直接行くとFBから来たと認識しますが、誰かが最初にFBからホームページに来て、商品ページを訪れた場合、彼らは認識されません。

+2

すべてのページでこのコードを実行し、日付情報付きのCookieに値を保存して、おそらく日付と一致する商品ページのCookieを確認してください。私はそれを使用する方法を知っていれば私はあなたにlocalstorageの提案を与えるhaha – Huangism

答えて

1

提案がlocalStorageを使用してフラグを保つことができ、そのユーザーの訪問は初めてのため、Webサイトの任意の部分は、あなたがやっているようリファラをチェックするが、上のこのスニペットを追加するときにリファラは、Facebookのようチェックアウトする場合

お使いの製品ページチェックそのキーが存在する場合に続いて
localStroage.setItem('from_facebook', true); 

、今明らかに

if (localStorage.getItem('from_facebook') !== null) { 
    /** Show DIV. **/ 
} 

彼らは一度来ている場合、彼らはその後、彼らは「、(意味のFacebookから来ていない場合でも、それはそれを示すだろういつもそれを見るでしょう)、あなたができることはadd div要素が表示されたら、あなたの製品ページ上の次のスニペットは、

localStorage.removeItem('from_facebook'); 

は、今ではdiv要素が表示され、その後、from_facebookので、今ではそれぞれの要求に依存してストレージから削除されます。

関連する問題