PhoneGap и jQuery Mobile не работают с iOS 5? - PullRequest
4 голосов
/ 10 ноября 2011

У меня есть простое приложение, разработанное с помощью jQuery Mobile и реализованное в PhoneGap.Он отлично работает в симуляторе iPad 4.3, но не в симуляторе iPad 5.0 и iPad, работающем под управлением iOS 5 ...

Это заголовок html-файла:

<head>
    <meta charset="utf-8"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <meta content="width=device-width,minimum-scale=1,maximum-scale=1" name="viewport"/>
    <link rel="apple-touch-icon" href="icon.png"/>
    <link rel="apple-touch-icon" sizes="72x72" href="icon.png"/>
    <link rel="apple-touch-icon" sizes="114x114" href="icon.png"/>
    <title>App demo</title>
    <link rel="stylesheet" href="scripts/jquery.mobile-1.0rc2.min.css"/>

    <link href="css/style.css" rel="stylesheet" type="text/css"/>

    <script type="text/javascript" src="scripts/jquery-1.6.4.min.js"/>
    <script type="text/javascript" src="scripts/jquery.mobile-1.0rc2.min.js"/>
    <script type="text/javascript" src="scripts/general.js"></script>
    <script type="text/javascript" src="scripts/app.js"/>
</head>

Когда я запускаю его на iPad simulator 4.3, все отлично работает.Но на 5.0 это просто показывает пустой экран.То же самое с фактическим iPad с iOS 5. Если, однако, я удаляю ссылки на скрипты, это вроде «работает» в том смысле, что показывает содержимое HTML-страницы, но, конечно, без стилизации и функциональности jQuery Mobile ... Включая любой jQueryкажется, что все это нарушает, например, если я оставлю только ссылку на jquery-1.6.4.min.js, это тоже не сработает.Или один из моих пользовательских js-файлов на этот счет.

Кто-нибудь знает, что здесь происходит?Это как-то связано с размещением ссылок на файлы?Я думаю, что я разместил их в правильном порядке (сначала jQuery, затем мобильный jQuery, а затем мои пользовательские js) ... Не похоже, что это никогда не работает, я попробовал это приложение http://coenraets.org/blog/2011/10/sample-application-with-jquery-mobile-and-phonegap/, и это прекрасно работает,Ссылки на скрипт довольно странно размещены внизу файла, перед закрывающим тегом body.Но я тоже пытался это сделать, и затем материал jQuery Mobile не включился вообще (хотя я мог видеть контент).

И все же, поскольку он работает в симуляторе 4.3, я не думаю, чтос моим кодом что-то не так, но почему он не работает в 5.0?

1 Ответ

3 голосов
/ 10 ноября 2011

Этот вопрос здесь о переполнении стека, по-видимому, говорит о том, что UIWebView в iOS5 требует, чтобы внешние ссылки на скрипты имели фактический закрывающий тег, а не просто заканчивались на '/>'.

Попробуйтеизменить ссылки на:

<script type="text/javascript" src="scripts/jquery-1.6.4.min.js"></script>

Это что-нибудь меняет?

...