こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

サイト訪問時に一度だけ表示されるページ

サイト訪問時に一度だけ表示されるページはどう作ればよいですか?
できればindex.html内で完結されているほうがいいです。

久しぶりに勉強を兼ねてWEBサイトを作成しています。
作ってる環境はHTML5、CSS3、jQuery等です。
色々検索してみたのですが、わからなかったので質問させていただきます。
文章では伝えづらかったので画像を用意しました。見てください。
なにか方法がありましたらご教授ください。

投稿日時 - 2015-08-22 02:42:47

QNo.9034380

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.1

相手が初回訪問かどうかを判定するのは、クッキー以外にないでしょう。
jQuery cookieを使えば簡単ですよ。
https://goo.gl/tBvFpG

リロード判定というのは、難しそうですが、こんな難しいことも編み出している人が居るんですね。
windowに名前をつける方式で、リロードしたのか、新規訪問なのかを判別する方法を考えついている人が居ます。良く思いつきますよね・・・。
http://samurai20000.hatenablog.com/entry/20091209/1260366464

どちらも、若干Javascriptの知識が必要ですが、サイトを見れば例文が載っているので、それをアレンジすれば比較的簡単かと思いますよ。

投稿日時 - 2015-08-22 09:04:57

補足

回答ありがとうございます。
その後、色々と検索した結果。
http://web.contempo.jp/weblog/tips/p3147
このページに行き当たりましてこれを採用することにしました。

リロードの処理は、コードがややこしくなりそうなのでとりあえずやめました。

ですが、

検索サービスからコンテンツページを最初にみた時、indexに戻るとWelcome画面が出てきてしまうのがやや気になりますね。その場合はいらないというか…
やっぱ、別途Welcomeページを作ってそこからメインページに飛ぶという単純な方法がいいのか悩んでます。。。

投稿日時 - 2015-08-26 21:41:51

お礼

今なんとなくやってみたら出来ました(∩´∀`)∩
とりあえずindexページのスクリプトに

//初回アクセスのみWELCOME表示//
var $my_window = "toppage"; // 任意のウィンドウ名を指定
if ( window.name.indexOf( $my_window )!=-1 ) { //任意のウインドウ名かチェック
} else {
window.name = $my_window; // ウィンドウ名を任意に名付ける
alert( "ようこそ!" ); // 初回訪問時の処理
}

//リロードでWELCOME表示//
function reloaded () {
return window.name == window.location.href ? true : false;
}

if (reloaded()) {
window.name = $my_window; // ウィンドウ名を任意に名付ける
alert( "ようこそ!" ); // 初回訪問時の処理
}

window.name = window.location.href;

んで、コンテンツページのスクリプトに
var $my_window = "toppage"; // 任意のウィンドウ名を指定
if ( window.name.indexOf( $my_window )!=-1 ) { //任意のウインドウ名かチェック
} else {
window.name = $my_window; // ウィンドウ名を任意に名付ける
}

を組み込むことでなんとか希望の動きが出来ました。
半分くらい理解しきれてないんでなんか余計なコードがあるかもしれませんが…とりあえず出来たので満足です。
ありがとうございました!

投稿日時 - 2015-10-01 08:09:00

-広告-
-広告-
-広告-
-広告-
-広告-