私は小さな自作プロジェクトに取り組んでいますが、 RoR 、より具体的には RoR を扱うことで甘やかされてきたことがわかりましたpartials
。
私のプロジェクトは完全にクライアント側です。だから私はjavascriptとHTML5を使用しています。今私がやりたいことはこれです: <%= yeild %>
RoR で古典的なタグが行うようなことを行うことができるコンテナーを含むホーム画面テンプレートを用意します。
使おうと思っiframes
たけど面倒くさい。また、 xmlHTTP リクエストinnerHTML
を使用して JavaScript でファイルを取得し、コンテンツdiv
をファイル ストリームで更新することも考えました。以前に個人的なプロジェクトでこれを行ったことがありますが、ハックであり、Chrome などのブラウザーに--allow-file-access-from-files
タグを付けてフラグを立てる必要があります。明らかに、エンドユーザーにアドバイスすることはできません。
私のもう1つの考えは、htmlをjavascript文字列として記述し、別の文字列を値として配置することでしcontent.innerHTML
たが、これは維持するのがばかげて難しく、まったくきれいではないように思えます。
最終的に、私は自分の解決策を書くことさえできます(それから、他の誰かが見ているための答えとしてここに投稿します)が、そこにすでに解決策があるかどうか知りたかったのです.
最終的な最終目標の動作は、次のフローに従います。
メインページ:
<div id="main_content">
<!-- this is the yield area -->
</div>
アプリが起動し、ファイルmenu.html
が次の場所にロードされyield area
ます。
<div id="main_content">
<!-- this is the content of menu.html, notice it's like a partial,
there is no body or head or doc type tags, just a list -->
<ul>
<li>Menu item</li>
</ul>
<!-- this is the end of the menu.html content -->
</div>
最後にクリックするMenu item
と、 のコンテンツが にロードmenu_item.html
されcontent div
、現在のコンテンツが置き換えられます ( menu.html
)。
私がすでに行ったいくつかの研究:
- iframe のように分割しますか?
- Div
src
属性プラグイン(面白そうに見えますが、Web サーバーで実行されます) - JavaScriptでdivを更新することに関するスタックの質問
- ピュアにつながるリンクをどこかに見つけました
json
これはうまくいくように見えますが、多くのコンテンツに対して実装するのは難しいようです (.手。) seamless
これは iframes の属性について語っていますが、有望に見えますが、実装されているのは chrome だけであり、それでもバグは放棄されています。アトリビュートのwebkit開発状況はこちらをご覧くださいseamless
。