みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

ジャバスクリプトでページ上に文字を表示させたい

任意の文字列をページ上に表示する方法が分かりません。
地域エリア名をページ上に表示させていと思っております。
「個別URL」をクリックすると「基本URL」が開くようにして、開いた「基本URL」ページ上で「●●●地域の方ようこそ!」というメッセージを表示させたいのです。

●個別URL
http://kihon.url.id01 「東北」というキーワードを設定
http://kihon.url.id02 「関東」というキーワードを設定
http://kihon.url.id03 「四国」というキーワードを設定

●基本URL
http://kihon.url

(例)
個別URL http://kihon.url.id01 をクリックすると
基本URL http://kihon.url が開いて、ページ上に
「東北地域の方ようこそ!」というメッセージが表示される。

まだ基礎的なことも不十分なんですが、色々作りつつ勉強しています。
よろしくお願いします。

投稿日時 - 2018-11-25 16:26:45

QNo.9561543

困ってます

質問者が選んだベストアンサー

そういう場合は直のURLに細工するのでは無く、事前に様々な条件を判別して分岐させるための条件分岐用の共通webページを作って置いて、そこに一旦全てのアクセスをリンクさせてからそのwebページ内部でJavascript等を使って条件を判断させ結果等を表示させる様にするのが一般的な手法です。

- http://example.com/branch.html

とりあえず入り口用のwebページとは別に上記の様な感じで条件分岐用のwebページを作成し設置。そこへアクセスさせて条件分岐させるのですが、このまま普通にやっても事前に作成して置いた branch.html という1つのwebページが毎回、固定で変わり映え無く表示されるだけですので。そこに「条件分岐」のための特別な "仕掛け" を作ります。

色んな方法がありますが、Javascriptで簡単に制御可能である事などを考慮して「引数」という手法を用いるのが良いと思います。

- http://example.com/branch.html?id=1

引数とは上記リンク例の様に、ファイル名やディレクトリ階層の後に「?a=123&b=456」みたいに記述してブラウザ側に文字列や数値情報を受け渡す手法です。Javascriptでもこの引数を標準でサポートしており、上記の例で言えば branch.html にJavascriptで引数を取得するプログラムを書いて置けば、後はこの branch.html がアクセスされる毎に「引数(URLの?以降の文字列)」を自動的に分析してその結果をこの branch.html の中で表示させる様にする事が出来ます。


<script>
var arg = new Object, p = location.search.substring(1).split('&');
for ( var i=0; p[i]; i++ ) {
var kv = p[i].split('=');
arg[kv[0]] = kv[1];
}

if ( 1 == arg.id ) {
/* id=1 の時の処理. */
alert('東北地域の方ようこそ!');
}
else if ( 2 == arg.id ) {
/* id=2 の時の処理. */
alert('関東地域の方ようこそ!');
}
else {
/* いずれにも当てはまらない場合. */
alert('とにかくようこそ!');
}

</script>


~以上のコードで branch.html がアクセスされる度に引数として渡された「id=XX」の値を取得した後、その値に応じて条件分岐を行い様々な処理を行わせる事が出来ます。後はこれを叩き台にして、質問者が行いたい事を条件分岐させて処理する様にしていけば良いと思います。

上記の例で言えば、呼び出し元のwebページに…

<a href="http://example.com/branch.html?id=1">東北</a>

~の様に記述して置けば。このリンクがクリックされた時には自動的に branch.html の「id=1 の時の処理」が自動的実行されその結果が表示されます。

投稿日時 - 2018-11-26 07:18:19

ANo.1

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

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

回答(1)

あなたにオススメの質問