2012-01-03 18 views
0

別のHTMLファイル内($アヤックスまたは$ .LOADを介して負荷)は、より良い/最善の解決策でしょうか?以前に私のすべてのマークアップはすべて、htmlファイルにindex.phpをJS inside inside JS?または

を初期化された:

//login block 
<div id="login"> 
    form ... 
</div> 

私がログインするたびにそう、私はかどうかを確認するために$.ajaxを使用して表示/非これらのログインブロックを削除する必要があります既存のセッションが存在し、ログインマークアップ全体(.hide())を非表示にし、ログインしたユーザーに対して別のマークアップを表示します。これで

問題は、それがスクリプトを実行する前にロードするために文書全体を待ち、ということなので、意図しない/非表示のマークアップを表示し、ページのロード時にすぐに消えます。

また、私はjavascriptの内部のマークアップをインラインで入れてみましたが、私はそれがJSに「控えめな」という考えに違反していると思われます。

var markup_arr = [ 
    '<h4>Login</h4>', 
    '<form></form>' 
]; 
var markup = markup_arr.join(''); 

だから私はこの

現在のソリューションで終わる:それはjQueryの$ .LOADを(使用して個別のhtmlファイルとロード)

あなたはベストプラクティスである、何を使用していて、どちらが高速に読み込まれますか?またはそこにあなたが提案できるより良い解決策がありますか?ありがとう。

EDIT: これらは、すべてのJavaScript/Ajaxのプロセスであり、私は(、require_onceを含む)、サーバー側のソリューションを探していないよ

+0

[タグ:あなたが-やっている - それは、間違っています]。 –

+0

また、ajax経由でログイン操作を実行していますか?もしそうでなければ、レンダリング時にサーバ上でその選択をすることはできませんか?あなたは、このログインセッションをされているかどうか知っているよ、と単にサーバサイドスクリプトで書き込みものを供給していないのはなぜワイヤー – rejj

+0

を下に送信されるように適切なマークアップを含めることができますか? –

答えて

2

これへの正しい答えはありません。私の見解では、最低限の要求数で、最小限のデータをユーザーに提供したいと考えています。適切なバランスを見つけることがすべてです。ユーザーに応じて、残高はに変わります。私にとって

、私は2つのそれぞれを5KBされたファイルではなく、2kBの4つの送信を好むだろう。より多くのデータを送信していますが、リクエストが少なくてすむので、すばやく処理する必要があります。私はそれをJavascriptの一部として提供するのが最も良いかもしれないと思います。コードファイルとデータファイルを1つに結合して、それを渡す単純な(PHPなどの)スクリプトを持っていれば、必ずしも同じファイルである必要はありません。

私が確かめるもう一つのことは、できる限りベストをキャッシュしていることです。少し大きめのファイルを持っているのは、それを一度だけダウンロードして1年間キャッシュすれば一般的には問題になりません。ユーザーが毎日大きなファイルをダウンロードしている場合、または悪い場合は、すべてのページビューが問題になります。

0

セッションが存在する場合はサーバー側をチェックし、セッションが存在する場合は別の "html"(php/rb/py/asp/whatever /本当に)ファイルを、そうでなければログインフォームを含めます。ユーザーがログすると、ajaxは同じ "html"ファイルに応答します。 (あなたの問題を正しく理解していれば、ログインフォームはページヘッダーの1行になります)。