jQuery Mobile - Как проверить, поддерживает ли браузер события jQuery Mobile - PullRequest
0 голосов
/ 29 января 2011

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

Вот мой код, который работает в браузерах, поддерживающих 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-файл и отображал ссылки.

1 Ответ

3 голосов
/ 29 января 2011

http://jquerymobile.com/gbs/

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

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

$.mobile.gradeA()

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

...