HTML-приложение PhoneGap 3.3 и мобильных сервисов на Android

Я установил последнюю версию PhoneGap (3.3), упаковал свое HTML-приложение Mobile Services и столкнулся с известной проблемой авторизации:

Вход поддерживается только с URL-адресов http:// и https://. Разместите свою страницу на веб-сервере

Я искал эту проблему в Интернете (http://social.msdn.microsoft.com/Forums/windowsazure/en-US/a2386093-73cd-44fb-a418-4fa83a36c800/phonegap-apps-using-the-new-html-client-for-azure-mobile-services-is-not-working?forum=azuremobile), но решение не работает для меня. Проект, созданный с помощью phonegap, ссылается на <script type="text/javascript" src="phonegap.js"></script>, но даже когда я изменил его на <script type="text/javascript" src="cordova.js"></script>, он не работает.

Есть ли решение этой проблемы?

Мой исходный код:

<html>
<head>
    <meta charset="utf-8" />
    <title>Report</title>
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />

    <script type="text/javascript" src="cordova.js"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/mobileservices/MobileServices.Web-1.1.0.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script src="myscript.js"></script>
</head>

myscript.js

var app = {
    initialize: function() {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },

    onDeviceReady: function() {
        var client = new WindowsAzure.MobileServiceClient(
            "https://myapp.azure-mobile.net/", "XXX");
        client.login("google").done(....
    },
};

$(document).ready(function documentReady() {
    app.initialize();
});

Редактировать 21.12.

По-видимому, PhoneGap 3 больше не сообщает свою версию в window.device.cordova, где ее проверяют мобильные службы. Но даже подделка не помогла - после авторизации в гугле уходит на пустую страницу.


person Lukas Cenovsky    schedule 20.12.2013    source источник
comment
Получение этой же ошибки в проекте iOS. Есть ли удача в этом?   -  person Jason Jarrett    schedule 16.02.2014
comment
У Azure все еще есть проблемы с PhoneGap. Работает ли код, если вы запускаете его из размещенного местоположения (например, jsfiddle)?   -  person TastySpaceApple    schedule 28.02.2014
comment
Пробовали ли вы использовать новый быстрый запуск Mobile Services PhoneGap? windowsazure.com/en -нас/документация/статьи/. Кроме того, есть ли у вас ‹access origin=* /› в вашем config.xml?   -  person lindydonna    schedule 03.03.2014
comment
Вы пытались скопировать файлы jquery и mobileservices js в локальную папку вместо того, чтобы ссылаться на них в Интернете.   -  person Ekim    schedule 13.03.2014
comment
Это может быть связано с: stackoverflow.com/questions/22248460/   -  person bitsprint    schedule 25.04.2014


Ответы (1)


Проблема с версией была недавно исправлена ​​с обновлением плагина ядра устройства.

В device.cordova.version должно быть правильно указано, какую версию вы используете.

Так что, если вы намеревались обойти это, вы можете сделать это сейчас.

person user1540792    schedule 02.04.2014