2011-01-28 4 views
0

В настоящее время я использую jQuery Mobile «pagebeforecreate» для инициализации страницы для загрузки содержимого на мою страницу html. События jQuery Mobile обсуждаются здесь: http://jquerymobile.com/demos/1.0a2/#docs/api/events.html. После того, как содержимое загружается синхронно и добавляется к телу, jQuery Mobile форматирует страницу.jQuery Mobile - Как проверить, поддерживает ли браузер jQuery Mobile events

Вот мой код, который работает в браузерах, которые поддерживают JQuery Mobile:

<!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 файл:

<?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> 

Как можно обнаружить, если браузер поддерживает «pagebeforecreate» Событие jQuery Mobile? Или есть способ определить, выполнено ли это событие? Если это событие никогда не выполняется, мне нужно загрузить XML с другой функцией. Хотя IE 8 не поддерживает jQuery Mobile, мне все равно хотелось бы обработать XML-файл и отобразить ссылки.

ответ

3

http://jquerymobile.com/gbs/

JQuery Mobile работает для поддержки всей Сорт браузеры. Это означает, что мы будем активно тестировать эти браузеры и следить за тем, чтобы они работали как можно лучше. В браузеры получат полный JQuery Mobile CSS и JavaScript (хотя окончательный макет может быть изящно деградирует версия полных возможностей, в зависимости от браузера).

Чтобы проверить, если браузер определяется как класс А, вы можете вызвать

$.mobile.gradeA() 

Я не IE, чтобы проверить, что это дает для этого, но вы можете дать ему попробовать

+1

Спасибо! Это отлично работает. Я тестировал «if (! $. Mobile.gradeA())», и он работает в IE 8. Есть ли какая-либо документация по событию «.mobile.gradeA()»? Я ничего не видел об этом на веб-сайте jQuery Mobile. – Greg

+1

Я должен отметить вас, указав ссылку на эту страницу –

Смежные вопросы