2012-06-26 17 views
5

jQuery Mobileのボタンをクリックして、divコンテナの別のフォルダにあるページのコンテンツをロードします(例: "files/pages/example.html")。divにページを読み込むjQuery Mobile

どうすればよいですか?

<div data-role="page"> 
    <div id="container" data-role="content"><button id="clickButton">Click me!</button></div> 
</div> 
+0

私は疑問を持っています。あなたはブラウザでテストしていますか?そうでない場合は、support.corsとallowCrossDomainPagesを追加しましたか? – Th0rndike

答えて

1

$ .mobile.loadPageはあなたが必要とする方法です。外部HTMLファイルをロードしてDOMに挿入することができます。このメソッドのデフォルトはページ全体としてロードするため、dom要素にロードするオプションを指定する必要があります。これは、例えば(未検証)コードです:

$('#clickButton').on("click",function(){ 
    $.mobile.loadPage("theURLofThePage",{pageContainer: $('#container')}) 
}); 

、クロスドメインのセキュリティ上の問題を忘れないでください。 (のは、それがID =「secondPage」を持っているとしましょう)ページ DIV =

$("#landingPage").live('pageinit', function() { 
      jQuery.support.cors = true; 
      $.mobile.allowCrossDomainPages=true; 
     }); 

をまた、あなたがロードしているページはデータ役割に包まれている必要があります。私は追加することによって、Firefoxでこの作業を行うために管理しました。負荷後、データ・役割についてのトリガー= ID = secondPage div要素を持つページ

$('#secondPage").trigger('pagecreate'); 
+0

私はすでに試してみましたが、ページをロードしません。 –

+0

とは何ですか?コードはどこですか?どのようなエラーがありましたか?これは標準的な方法ですが、それがうまくいかなかった場合は、コードに間違いがありましたが、私があなたに何を試してもらわないかを教えてくれないと、私(そしてSOコミュニティ)はあなたを助けません。途中で見つけた問題 – Th0rndike

+0

すみません。私はポストの最初に与えたコードとあなたのjQueryコードを読み込み、ページをロードしました(.onから.liveに移動し、loadPage関数の最後に ';'を追加しました)。エラーはありません(シミュレータiOsを使用して)何もしません!私はloadPage関数の後に "alert(( '#container').html())を実行しようとしましたが、警告はdiv #containerが空である(警告に何も表示されません) –

関連する問題