tips

クッキーを使わずにjavascriptで初回アクセスかどうかを判別する。

first_time_user_or_not

特定ページへの初回訪問かどうかを見分ける

jQueryなどを使って初回訪問時のみアクションを加えたい。でもクッキーなんて使いたくない。

…という場合には、ウインドウ名を利用して簡易的に判断する方法が有効です。javascriptで表示中のURLからファイル名(ベースのスラッグ)を取得し、ウインドウ名に加える処理を行います。

verify first time visitor or not

###0###

チェックしたいページ全てに記述する必要があります。ウインドウ名を利用しているので別窓で開くと無効になります。

なお、ウインドウ名には文字数制限(255文字かな?)があるはずなので、動的サイトで全体のアクセス履歴を書き込んでいくのは無理があります。また、ウィンドウ名に指定できるのは半角英数字のみです。なのでwordpressなどのCMSに埋め込むなら、トップページや固定ページ内だけなどに絞って、何かアクションさせたいときに使いましょう。wordpressなどのCMSで埋め込むなら、ページテンプレートやホームテンプレート内で使用し、らpathnameを取得する手続きをカットし、直接phpでpost IDを使った名前を代入する方が、処理も早くて文字数も抑えられます。以下はWPで実際に私が使ってる感じに近いもの。

###1###

 

そもそもユーザーがホームページへの初回訪問かどうかを判別する場合

おまけ。

ニュースなどのウインドウをポップアップしたいときなど、すべてのページでユーザーが初回訪問かどうか有効にしたいときもあります。この場合、チェックしたい各ページ全てに記述する必要があります。

###2###

とにかく外部からのアクセス時の一回だけでいい、という場合は以下のようにシンプルに処理する方法もあります。リファラを見ているので、別ウインドウで開いても大丈夫ですし、該当するページ一箇所に記述するだけで済みます。しかしスクリプトの設置の有無で判別できないので、サブディレクトリ以下でのみチェックをしたい場合には不向きです。

###3###

Your Comment

コードの記述は<pre>または<code>タグで括って下さい。自動的にエスケープされます。

 

右の文字を入力して下さい captcha