サイト上で訪問者に対して一度だけあるjavascriptを実行したいのですが方法を教えてください。


サイト内の全てのページにそのjavascriptを埋め込んでおき
トップページに来た人はトップページで1回実行して他のページでは実行しない
検索エンジンやお気に入りなど個別のページに直接来た人にはそこで一度だけ実行する
というようなことです。

よろしくお願い致します。

回答の条件
  • 1人10回まで
  • 登録:2007/02/25 21:57:30
  • 終了:2007/03/04 22:00:03

回答(4件)

id:naokn No.1

naokn回答回数43ベストアンサー獲得回数32007/02/25 22:35:41

ポイント23pt

window.onload関数を使用するといいと思います。

window.onload関数で、ページの読み込みが完了した時に発生するイベントハンドラを指定します。

参考URL:

http://www.openspc2.org/JavaScript/ref/window/onload.htm

id:e23jp

この場合、リロード若しくはこのページを経由して次ページに移動した後、このページに戻るともう一度実行されますよね?(読み込み毎なので)

むしろ、一訪問者に対してサイト全体を通して一回という感じなのです。

2007/02/25 22:38:53
id:ToMmY No.2

ToMmY回答回数656ベストアンサー獲得回数192007/02/25 22:37:42

ポイント23pt

cookieをユーザーに渡し、それがなければポップアップを出すという風にすればいいです。

PerlまたはPHPが使える必要がありますが。

そのほかの方法ではIPを使う方法、リファラを使う方法などありますが、cookieが一番確実です。

http://www.sakura-pc.jp/php/cookie.shtml PHP

http://perl.misty.ne.jp/15.html perl

方法は

アクセスされたときにCGIを呼び出し、ユーザーからクッキーが送られてくるかチェックする。

送られてきたらそのまま表示、送られてこなかったらJavascriptを表示する。

送られてこなかったら、ユーザーにクッキーデータを与え、次は表示されないようにする。

このとき有効時間は10年とか突拍子もない値にする。

この程度です。

非常に単純ですが、すべてのページをCGIにしなければいけないので大掛かりです。知識が無いとできません。

id:thrillseeker No.3

thrillseeker回答回数328ベストアンサー獲得回数372007/02/25 22:40:47

ポイント22pt

やはり、cookie を使うのが定石では?

Javascript では例えば if 文を使い、

1) アクセス者が自サイトの cookie を持っているかどうかをチェック。

2) 持っていなければ初アクセス者への処理を実行。

3) cookie を既に持っている場合には処理を実行しない。

4) いずれの場合でも期限を更新した cookie を新規に設定する。

といった手順になります。


http://www.tohoho-web.com/wwwcook.htm

http://ash.jp/~hasimoto/zakki/new_jsck.htm

id:naokn No.4

naokn回答回数43ベストアンサー獲得回数32007/02/25 23:05:47

ポイント22pt

その場合、

window.onload関数のなかに、cookieをチェックする関数を置いて、cookieが設定されていない場合には「一訪問者に対してサイト全体を通して一回」実行する関数に進む、というふうにするといいと思います。

cookieについての参考:

http://www.tohoho-web.com/wwwcook.htm

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません