URLに#が入っている理由とは?

このQ&Aのポイント
  • URLに#が入っている理由についてご説明します。
  • example.comのサイトのURLには#が含まれていますが、その仕組みについて解説します。
  • URLの中に含まれる#の意味についてご説明します。
回答を見る
  • ベストアンサー

example.com/#/example/

あるサイトのurlがexample.com/#/example/のように#がurlの間に入っていましたが、あれはどういう仕組みでしょうか。 そのサイトの大まかな動きは下記となります。 (1) まず、example.comにアクセスすると、スプラッシュアニメーションの後ホームが表示されます。urlは変わりません。 (2) ナビボタン(aタグは/example/としてしており、ブラウザのステータスバーにはリンク先がexample.com/example/と表示されている)を押すとexample.com/#/example/が表示されます。なおページ間の移動時もアニメーションがあり、ページのロードを感じさせないシームレスな遷移となっています。 (3) example.com/#/example/を直接url入力すると、トップページのスプラッシュアニメーションが表示された後、アニメーションでexample.com/#/example/ページがシームレスに表示されます。(1)から(2)が自動になった感じ。 (4)example.com/example/と直接url入力すると、スプラッシュアニメーションは表示されず、example.com/example/ページが表示されます。ページ間移動時のアニメーションもありません。この状態でナビボタンを押しても、(2)のようなアニメーションがついたシームレスな移動はせず、毎回ページをロードしている感じです。 サイトの大まかな動きは以上となります。サイトのアニメーションはflashではなく、javascriptを使用していると思いますので、おそらくこれと関係あると思いますが、簡単な仕組みをご教授いただけますと幸甚です。 何卒よろしくお願い致します。

  • HTML
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

> ちなみにハッシュが#exampleではなく、#/example/になっているのは > 元々のリンクが/example/になっているからだけでしょうか? ハッシュの形式は作成者が自由に決められる(ハッシュを解釈するプログラムを作るのも作成者なら)ので 作成者に都合が良ければ本質的にはどんな形式でも良いでしょう。 ただ、普通のページ内リンクと混同しないように、 JavaScript向けだと区別できるようにしている場合はあるようです。 たとえばTwitterは #!/aaa/bbb の様に #の次に!が出現するようにしているようです。

ixkaito
質問者

お礼

再度お答えいただきましてありがとうございます。 勉強になりました。この度本当にありがとうございました。

その他の回答 (1)

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.1

#で区切られているのではなく、#以降がハッシュです。 example.com/#abc だと #abc がハッシュになるのと同様に example.com/#/example/ だと #/example/ がハッシュになります。 ハッシュはJavaScriptでlocation.hashで取得できるので、 ハッシュを読み取ってシームレスにページを書き換える処理をJavaScriptでやるだけです。 example.com/example/ へのリンクをクリックしたら 行き先を example.com/#/example/ に変更するのもJavaScriptでやっているのでしょう。 最初から example.com/#/example/ にしていなのは JavaScriptを無効にしているブラウザでアクセスされたときも (4)の様にページ移動はできるようにするためでしょう。

ixkaito
質問者

補足

早速ご回答いただきましてありがとうございます。 なるほど/も含めてハッシュなのですね。 >example.com/example/ へのリンクをクリックしたら 行き先を example.com/#/example/ に変更するのもJavaScriptでやっているのでしょう。 なるほど、どうやら上記はトップのみを制御しているので、(4)の様になるんですね! >最初から example.com/#/example/ にしていなのは JavaScriptを無効にしているブラウザでアクセスされたときも (4)の様にページ移動はできるようにするためでしょう。 確かにそうですね! ちなみにハッシュが#exampleではなく、#/example/になっているのは元々のリンクが/example/になっているからだけでしょうか? お手数おかけ致しますが、よろしくお願い致します。

関連するQ&A

  • webサイトのwwwなしのサイトはどうしたら?

    会社のwebサイトを作りました。 www.example.comのみで表示できたらいいのですが、今はwwwなしのexample.comでも表示されます。 他の会社のサイトをみると 1・URLはwwwをなしが表示されありと同じページになる 2・URLはwwwなしで移動してもwwwありにしかならない 3・wwwなしではサイトが表示されませんになる といろいろなんです。 今は1なのでどれがおすすめとか2,3にするにはどうすればいいとかなんでもいいので一言でもアドバイスいただけたらと思います。 よろしくお願いします。

  • サイト指定検索が不発、ページ内検索で代用する方法

    サイト指定検索で欲しい情報が見つからなかった場合、ページ内検索などで代用するのに便利な方法はありますか。 例えば「https://example.com/1/」、「https://example.com/2/」、「https://example.com/3/」、・・・、「https://example.com/100/」といったように連続したURLのサイト内で、 「商店街復興計画について」のような語句を調べたい時、 Googleで「商店街復興計画について site:example.com」とサイト指定しての検索などを使ってもヒットしなかった場合、 ひとつずつURLを移動しながら手動でCtrl+Fなどのページ内検索をかけていくしか方法は無いのでしょうか。 もっと効率の良い探し方がありましたら教えてください。

  • http://news.com.com/ みたいなナビゲーションは?

    http://news.com.com/ のサイトの上部にあるような、マウスを持っていくとその下にサブメニューがポンポンと出てくるような動きは、どのような仕組みでやっているのでしょうか? ヒントだけでも教えてください。お願いします。

  • Movable Typeを独自ドメインでトップページにするには?

    Movable Type 4.12を独自ドメインで例えば http://example.com にアクセスすると表示するようにしたいのですが、どうすれば出来るでしょうか? ブログ作成でサイトURLでディレクトリ名を入力するようになっていますし、かと言ってそれを入力しないとトップページにアクセスしても表示されません。 .htaccessを使えばどうにかなるのかと思い、DirectoryIndexとか使ってみても出来ませんし・・・。

  • URLの大文字小文字の区別

    ツイッターのURLは twitter.com/exampleとなっているのですが、 twitter.com/EXAMPLEと アルファベットが全て大文字でも同じページが表示されていました。 なぜURLは大文字と小文字の区別を付けずに一緒のページが表示されるのでしょうか?

    • ベストアンサー
    • HTML
  • DNSサーバーの働きに関する質問です。

    雑誌等で紹介されているURLをIEのアドレスバーに入力しますと、 別のURLへと変換されて、規定通りのサイトの画面が表示される、 という場合が有る様ですね。 例えば、某雑誌の情報に従いまして、 たとえ" http://www.jojo-animation.com "とのURLを入力しましても、 結果的に、" http://wwws.warnerbros.co.jp/jojo-animation/ "へと変わっています。 但し、「名前解決ではURLをIPアドレスへと変換しているだけでして、其の段階から更に別のURLへの逆引きを行なったりはしていないのだろう。」 と私は勝手に認識して参りましたので、 上記の通りの変換の理由が分からないものですから、 畏れ入りますが、どういう仕組みなのかを教えて下さいませ。

  • URLの.html省略について

    現在、サイトを制作しています。 URLについて教えて下さい。 作成ソフト:iWeb サーバー:lolipop ドメインはムームーで取得しました。 http://www.example.com/A.html を「html」を省いて http://www.example.com/A と表示させたいと思っています。 indexのページは検索サイトなどを見て、ルートディレクトリ配下に .htaccessファイルを置き、.htmlを消す事に成功したのですが、 それ以外のページで消す事が出来ません。 どういった方法で消す事が出来るのでしょうか。 _______________ 元々は、全てのページを http://www.example.com で表示したかったのですが、階層についての記述等を読んで試してみてもうまくいかないのであきらめました。。

    • ベストアンサー
    • CSS
  • outlook.comのが開けない件について

    outlook.comのが開けない件について、お力をお貸し下さい。 現在、outlook.comにアクセスしようとするとページエラーが発生して、以下の文面が表示されます。 ---------------------------------------------------------- サーバが見つかりませんでした col002.mail.live.com という名前のサーバが見つかりませんでした。 www.example.com を間違えて ww.example.com と入力するなど、アドレスを間違って入力していないか確認してください。 他のサイトも表示できない場合、コンピュータのネットワーク接続を確認してください。 ファイアーウォールやプロキシでネットワークが保護されている場合、Firefox による Web アクセスが許可されているか確認してください。 ---------------------------------------------------------- セキュリティソフトのアバスト一度アンインストールし、ファイヤオールを切って試すもNG。 アバストの残骸ファイルを全て削除して試すもNG。 一時キャッシュ関連も全て削除し試すもNG。 ファイヤーフォックス以外のブラウザを試すもNG。 他のPCやデバイスでは閲覧可能と言う状態となっております。 自身の知識ではこれ以上追えない状況となっています。 是非、お力をお貸しいただければと思います。

  • URL.com

    最近検索エンジンからサイトに飛ぼうとすると「URL.com」というページが表示されるようになりました。なにやら英語のページで心当たりがないし、検索してもヒットしないしで気味が悪いです。某有名どこのウィルス対策ソフトも稼動してるのでスパイウェアではないとは思うのですが・・・。

  • ホームページを作っています。URLの設定方法について教えてください。

    ホームーページを作っているのですが、 サーバーも独自ドメインも準備しました。 そこで、基本的かもしれませんが、、URLはどのように設定すれば良いのでしょうか? 例えば、www.example.comというドメインにしたとします。 このURLをHPのホームにしたいのですが、 FTPにHTMLをUPしたら、URLがwww.example.com/HTMLファイル名.htmlで表示されます。 www.example.com/自体をホームにしたい場合はどうすれば良いのでしょうか? また、www.example.com/mobile というモバイル用サイトも同時に作りたいのですが、 これもURL窓にwww.example.com/mobile.htmlと表示されます。 .htmlを取ってwww.example.com/mobileでURL窓に表示されるようにするには どうしたら良いのでしょうか? いまいち理解できていなくて、詳しい方がいたらご教授お願いします。