2017-10-15 3 views
0

私は6つの.htmlページからなるウェブサイトを持っています。メインページは(index.html)です。ナビゲーションメニューには<li>の要素があり、別の.htmlファイルからコンテンツをインポートします(たとえば、お問い合わせ先ページ)。別の.htmlファイルから特定のコンテンツをインポートしたWebページのリンクを作成するにはどうすればよいですか?

<li><a>Contact</a></li>をクリックするとナビゲーションメニュー(見出し)とフッターはそのまま残り、「contact.html」の内容で内容が変更されます。ホームページにアクセスしてナビゲーションメニューから「連絡先」をクリックするとうまくいきますが、このページに直接アクセスしたい場合はどうすればいいですか?

たとえば、私がwww.mywebsite.com/contactにアクセスした場合、ヘッダー、連絡先のページの内容、およびフッターが見つかります。私がwww.mywebsite.com/contact.htmlにアクセスすると、スタイリングや何もせずにhtmlコンテンツを見つけることができるからです。これが可能ですか、またはすべてのページのヘッダーとフッターのコードを追加する必要がありますか?

+0

ご利用いただけるプログラミング言語の中で、サーバーサイドを使用すると非常に簡単です。または、javascriptを使用して単一のページアプリを作成します。両方のために使いやすいフレームワークがたくさんあります – charlietfl

+0

これを処理するための素晴らしい単一ページアプリケーション(SPA)フレームワークがあります。本当に自分自身でリグを作成したい場合は、基本的に個々のページへのトラフィックをインデックスページにリダイレクトし、そのページに何を表示するかをハッシュ値で指示できます。 – Nick

+0

@snapjs、私は第2の考えをすることを考えていたが、それをどうやって行うのか分からない。 – Jim

答えて

0

DIYソリューションを開始するためのアイディアです。

  1. 個々のページで、「ルータ」というクエリパラメータがあるかどうかを確認します。 Here's a good way to check for that
  2. そのようなクエリパラメータが存在しない場合は、インデックスページへreplace the window場所が、適切なハッシュindex.htmlページ内(例えば、index.htmlを#接点)
  3. で、適切に引っ張ってhashを使用ページに表示されますが、ajaxを経由してロードするときは、ルータパラメータをロードすることを確認してください(contact.html?router = trueのようにコンタクトページのURLをロードするようにしてください)。
関連する問題