Вход в Skype Web SDK не работает

Я использую источник точки входа Skype SDK из https://msdn.microsoft.com/EN-US/library/dn962162(v=office.16).aspx и пытаюсь войти в Skype, но постоянно сталкиваюсь с проблемой одной из функций Skype. В настоящее время у меня есть 2 текстовых поля, которые имеют свои собственные значения идентификатора (#username и #password), и у меня есть 2 кнопки (#signin и #signout).

    <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script>
<SCRIPT type='text/javascript' SRC='https://swx.cdn.skype.com/shared/v/1.1.23.0/SkypeBootstrap.min.js'></SCRIPT>
    <TABLE CLASS='test'>
<TR><TD ALIGN=RIGHT><INPUT TYPE=TEXT class=suptabde NAME="username" ID="username" VALUE="" MAXLENGTH=40 style="width:18em">
<INPUT TYPE=PASSWORD class=testtabde NAME="password" VALUE="" MAXLENGTH=40 style="width:18em">
<BUTTON id='signin' class='testtabde' STYLE='text-align:center' VALUE='  Skype Login  '>Log in</BUTTON><BUTTON id='signout' class='suptabde' STYLE='text-align:center' VALUE='  Skype Login  '>Log out</BUTTON>
</TABLE>

Я взял копию содержимого js с веб-сайта msdn, которая выглядит следующим образом:

$(function () {
    'use strict';    // create an instance of the Application object;
    // note, that different instances of Application may
    // represent different users
    var Application
    var client;
    Skype.initialize({
        apiKey: 'SWX-BUILD-SDK',
    }, function (api) {
        Application = api.application;
        client = new Application();
    }, function (err) {
        alert('some error occurred: ' + err);
    });
    // whenever state changes, display its value    
    client.signInManager.state.changed(function (state) {
        $('#application_state').text(state);
    });
    // when the user clicks on the "Sign In" button    
    $('#signin').click(function () {
    // start signing in
    client.signInManager.signIn({
        username: $('#username').text(),
        password: $('#password').text()
    }).then(
        //onSuccess callback
        function () {
            // when the sign in operation succeeds display the user name
            alert('Signed in as ' + client.personsAndGroupsManager.mePerson.displayName());
        }, 
        //onFailure callback
        function (error) {
            // if something goes wrong in either of the steps above,
            // display the error message
            alert(error || 'Cannot sign in');
        });
    });

// when the user clicks on the "Sign Out" button
$('#signout').click(function () {
    // start signing out
    client.signInManager.signOut()
        .then(
            //onSuccess callback
            function () {
                // and report the success
                alert('Signed out');
            }, 
        //onFailure callback
        function (error) {
            // or a failure
            alert(error || 'Cannot sign in');
        });
});
});

При загрузке моей html-страницы возникает следующая ошибка: «Uncaught TypeError: Невозможно прочитать свойство signInManager из неопределенного». Строка, на которую он указывает с ошибкой, - это «client.signInManager.state.changed (функция (состояние) {». Я вижу, что «signInManager» находится в файле SDK-build.js, который правильно подобран источником с swx.cdn.skype.com/vs/SDK-build.js, поэтому я не знаю, как обойти это, есть ли у кого-нибудь идеи о том, как решить эту проблему?


person Pradeep Patel    schedule 17.09.2015    source источник
comment
Я полагаю, что ваши файлы js находятся в заголовке?   -  person Muhammad    schedule 17.09.2015
comment
Их нет в заголовке как таковом, они отображаются в теле html. Обычно у нас есть ссылки на js в теле, которые отлично работают для других вещей, поэтому я не думаю, что наличие их в заголовке будет иметь значение, к сожалению...   -  person Pradeep Patel    schedule 17.09.2015


Ответы (1)


Проблема, похоже, связана с двумя ссылками на библиотеку jquery, одна из которых старше другой. Удалили старую ссылку, и теперь сообщение об ошибке исчезло.

person Pradeep Patel    schedule 17.09.2015