2017-03-02 5 views
0

私はWebアプリケーションを開発しており、サーバーサイドでHTMLを生成しないでクライアントを厳密にHTML/JS/CSSにしたい。動的にサーバー側のコードなしですべてのページにヘッダーとフッターを含める

サーブレットコンテナは、ステートレス認証を使用してクライアントへのREST APIを提供するTomcatです。これにより、スティッキーセッションや一部の外部ストアのセッション管理を心配することなく、今後スケーリングを簡単に行うことができます。

現時点では、JQueryを使用して、ページの読み込み時にheader.htmlとfooter.htmlを動的に挿入しています。予想通り、ヘッダーとフッターが表示されるまでに時間がかかります。

ウェブサイトの各ページに静的にHTMLを置くことは別として、人々はオプションとして何をお勧めしますか?

+0

あなたはサーバー側のインクルードを使用したくないですか?彼らはあなたがFOUCの問題を解決するだけでなく、サーバーに対して行っている3つの要求を1つに減らします。 –

+0

jQueryがロードされるまでページを待機させ、holdReady()を調べることができます。それが助けになるかどうかを見てください。 – Toxide82

+0

@RoryMcCrossan - 私は実際にPHPのような基本的なものを検討していますが、HTMLをサービスするWebサーバーができるだけ軽くなるようにしたいと思います。インクルードされたヘッダーとフッターを使用してHTMLを作成することができますが、一度だけ書き込むことができるものはありますか? – jimmy

答えて

0

1つのページのアプリケーションを作成することができるので、ヘッダーとフッターは同じままで、本文だけがコンテンツを変更します。

このような何か: https://jsfiddle.net/ArnoutPullen/0egv7rdL/1/

index.htmlを:どのような理由のためにD

<header> 
    Header 
    <li class="customers" title="Customers">Customers</li> 
    <li class="companies" title="Companies">Companies</li> 
</header> 
<div class="body">Body</div> 
<footer> 
    Footer 
</footer> 

main.js

$(document).ready(function(){ 
    $("li").click(function(){ 
    $(".body").html($(this).attr('title')); 
    //$(".body").load('customers.html'); 
    }); 
}); 

customers.html

customers 
+0

ああ、私はあなたがそれをどこに行っているのか分かりますが、私の場合はそれがうまくいくかどうかはわかりません。あなたがindex.htmlからロードされるだけなので、あなたのケースではヘッダとフッタのないページを提供する 'customer.html'にリンクできる人が必要です。 – jimmy

関連する問題