2017-07-26 3 views
1

私はこの小さなプロジェクトをウェブサイト用に始めました。メニューバーのすべてのページのすべてのリンクを変更する必要があるので、サイト全体で1つのメニューバーを使用する必要があると思いました。私は私のメニューバーをロードするための次のコードを発見したリンクをナビゲートするにはどうすればよいですか?

<div id="nav-placeholder"></div> 

<script type="text/javascript"> 
    $(function(){ 
    $("#nav-placeholder").load("navbar.html"); 
    }); 
</script> 

それが正常に動作し、私は私のメニューを得るかは、しかし、私はちょうどメニューを持っていたかのようなリンクは基本的に同じように動作することを見つけますページをロードする代わりに

たとえば、私がルートディレクトリにいるとすべてがうまくロードされますが、リンクが1つ上がるとリンクはもう使えなくなります。

私はこれを単に変更するだけで解決できることは分かっていますが、サイト全体に2つ以上のナビゲーバーを作成する必要がありますか?

この問題を解決するにはどうすればいいですか?皆さん、私の考えを込めて願っていただければ幸いです。

+1

変更。 '/ foo.html'、'/links/bar.html'などです。また、AJAXリクエストが完了している間にJSがFOUCを持つように、JSを含むページにテンプレートコンテンツを含める方がServer Side Includesがはるかに適しています。 –

+0

うわー! Roryに感謝します。このような小さなことは、これは本当に新しいです。 – Ralf

答えて

0

ASPやPHPのようにオンザフライでページを動的に作成できるものを使用している場合は、メニューだけで別のページを作成し、それを必要とする各ページに含めることができます。

ASP:たとえば

<!-- #Include virtual="menu.aspx" --> 

PHP:リンク彼らは例えば、ドメインのルートフォルダへの相対的な開始よう

<?php include 'menu.php';?> 
関連する問題