2015-09-17 8 views
0

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

<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 (function (state)». Я вижу, что «signInManager» находится в файле SDK-build.js, который правильно выбран источником от swx.cdn.skype.com/vs/SDK-build.js, так что я не уверен, как обойти это, кто-нибудь получил какие-либо идеи о том, как решить эту проблему?

+0

Я полагаю, что файлы ur js находятся в заголовке? – Naeem

+0

Они не находятся в заголовке как такой, он появляется в теле html. Обычно у нас есть ссылки js в теле, которые отлично работают для других вещей, поэтому я не думаю, что иметь его в заголовке будет отличать rence к сожалению ... –

ответ

1

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