2012-01-25 11 views
6

私はPhoneGapとjQuery Mobileを使ってネイティブAndroidアプリケーションを作成しています。jQueryとPhoneGap - HTMLまたはJSのHTMLファイルclientsideを含める?

私は複数ページを作成するとき、私はいつも同じナビゲーションバーを含めないでください。 だから私は(s)htmlを含めることを試みた。しかし、それは動作しません。 これは私がここまで試したものです:

<!--#include file="navigation.inc.html" --> 
<!--#include virtual="navigation.inc.html" --> 
<!--#include file="navigation.inc.shtml" --> 
<!--#include virtual="navigation.inc.shtml" --> 

このページでは、(ウェブ)サーバーに配置されていません。 navigation.inc.shtmlがサーバーではない場合、htmlまたはjavascriptでファイルを含めることは可能ですか?

答えて

4

私は同じ問題を抱えています。私が知る限り、AndroidはServer Side Includesを無視します。

私はこのanswerに基づいてloadと答えに近づいてきたが、私は少し異なるアプローチ取っている:次に

<div data-include="footer"></div> 

:あなたは、外部ファイルをインクルードする必要がどこ

を、私の(マルチページ)の終わりにindex.html

問題は、最初のページビューでは機能しないということです。それ以降のページはすばらしく見えます。

+0

参照:http://stackoverflow.com/questions/7974630/jquery-mobile-include-footer-from-external-file – tomo7

+0

あなたは揺れる、これは素晴らしい作品です.. –

1

私はdata-role = "footer"の追記型アプローチを検討しており、以下のように動作しています。私はそれが好きではないもの)1.)それはインクルードファイルからではないので2.)navbarコードは読みにくく、維持するのが少し難しい。 (このコードはdocument.readyには入りません)

var myFooter = '<div data-role="navbar"><ul><li><a href="#myPageName" >Send</a></li><li><a href="#myPageTwo" >Set Up</a></li><li><a href="#myPageThree" >Help</a></li></ul></div>'; 

// use this code pointing to each data-role="footer" where you want this navbar 
$('div#myPageName').live("pagebeforecreate", function(){ 
     $('div#myFooterName').html(myFooter) 
}) 

pagecreateイベントも機能します。

1

Jhofから上記のようにクライアント側のJavaScriptコードを使用しました。ナビゲーションヘッダの

テンプレート例:

<body onLoad="initialization()"> 
.... 
    <div template-include="nav-header"> 
    </div> 
    <script type="text/javascript"> 
    function loadTemplates() 
    { 
    $('div[template-include]').each(function() { 
     $(this).load('tpl/' + $(this).attr('template-include') + '.html').trigger('create'); 
}); 
    } 
    function initialization() { 
     .... 
     loadTemplates(); 
     .... 
    } 
    </script> 

<body> 

私は私のinitializationFunctionbody.onLoadイベントから呼び出されloadTemplates()

としてすべての私のinit関数を呼び出す初期化関数を作成しました。 onLoad html解析の終了時にイベントが発生します。

したがって、最初のページビューでも機能します。

関連する問題