2011-01-28 9 views
0

現在、jQuery Mobileの "pagebeforecreate"ページ初期化イベントを使用して、HTMLページにコンテンツを読み込みます。 jQuery Mobileのイベントについては、http://jquerymobile.com/demos/1.0a2/#docs/api/events.htmlを参照してください。コンテンツが同期して読み込まれ、本文に追加された後、jQuery Mobileはページをフォーマットします。ここでjQuery Mobile - ブラウザがjQuery Mobileイベントをサポートしているかどうかを確認する方法

は、jQueryのモバイルをサポートするブラウザで動作します私のコードです:

<!DOCTYPE html> 
<html> 
<head> 
    <title>jQuery Mobile Test</title> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.4.4.min.js"></script> 

    <script> 
    $('body').live('pagebeforecreate',function(event){ 

     var ajaxContent = ""; 

     $.ajax({ 
      async: false, 
      type: "GET", 
      url: "test.xml", 
      dataType: "xml", 
      success: function(xml) { 

       $(xml).find('item').each(function() 
       { 
        ajaxContent += '<li><a href="'+$(this).find('link').text()+'">'+$(this).find('title').text()+'</a></li>'; 
       }); 
       //alert(ajaxContent); 
       $('#menu').append(ajaxContent); 
      } 
     }); 
    }); 
    </script> 

    <script src="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.js"></script> 
</head> 
<body> 
<noscript>You must have JavaScript enabled to view the content on this website.</noscript> 
<div data-role="page"> 

    <div data-role="header"> 
     <h1>jQuery Mobile</h1> 
    </div> 

    <div data-role="content"> 

     <ul data-role="listview" id="menu"> 

      <li><a href="#">Static</a></li> 

     </ul> 

    </div> 
</div> 
</body> 
</html> 

、ここでは、XMLファイルです:ブラウザは「pagebeforecreate」をサポートしている場合

<?xml version="1.0" encoding="UTF-8"?> 
<menu> 
<item> 
<title>Awesome Link from XML 1</title> 
<link>http://www.google.com</link> 
</item> 
<item> 
<title>Awesome Link from XML 2</title> 
<link>http://www.gmail.com</link> 
</item> 
</menu> 

どのようにして検出することができますjQuery Mobileイベント?または、このイベントが実行されたかどうかを検出する方法はありますか?このイベントが実行されない場合は、別の関数でXMLをロードする必要があります。 IE 8はjQuery Mobileをサポートしていませんが、XMLファイルを処理してリンクを表示したいと思っています。

答えて

3

http://jquerymobile.com/gbs/

のjQuery Mobileは 、すべてのグレードのブラウザをサポートするために取り組んでいます。つまり、 これらのブラウザに対して のブラウザに対して積極的にテストし、 が可能な限り機能することを確認します。 ブラウザは( が究極レイアウト ブラウザに依存して、 フル機能の 正常劣化バージョンであってもよい)、フルjQueryの モバイルCSSおよびJavaScriptを受信します。私はそれがこのために与えられるかどうか確認するためにIEを持っていないが、あなたはそれを試し

を与えることができます

ブラウザはグレードAのように定義されている場合、あなたは

$.mobile.gradeA() 

を呼び出すことができます確認するには

+1

ありがとう!それは素晴らしい作品です。私は "if(!$。mobile.gradeA())"をテストしてIE 8で動作します。 "$ .mobile.gradeA()"イベントに関するドキュメントはありますか?私はjQuery Mobileのウェブサイトでそれについて何も見ていませんでした。 – Greg

+1

このページに戻る –

関連する問題