2015-09-17 1 views
0

J'utilise la source de point d'entrée Skype SDK de https://msdn.microsoft.com/EN-US/library/dn962162(v=office.16).aspx et j'essaie de me connecter à Skype, mais je continue à rencontrer un problème avec l'une des fonctions Skype. J'ai actuellement 2 champs de texte qui ont leurs propres valeurs d'ID (#username et #password) et j'ai 2 boutons (#signin et #signout).Skype Web SDK Connexion ne fonctionne pas

<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> 

J'ai pris une copie du contenu js du site msdn, qui ressemble à ce qui suit,

$(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'); 
     }); 
}); 
}); 

Lors du chargement ma page html l'erreur que je reçois l'erreur suivante, « Uncaught TypeError: Impossible de lire la propriété 'signInManager' de undefined ". La ligne vers laquelle pointe l'erreur est "client.signInManager.state.changed (function (state) {". Je peux voir que "signInManager" se trouve dans le fichier SDK-build.js, qui est correctement récupéré par la source de swx.cdn.skype.com/vs/SDK-build.js donc je ne suis pas sûr de savoir comment contourner cela, est-ce que quelqu'un a eu des idées sur la façon de résoudre ce problème?

+0

Je suppose que les fichiers ur js sont en en-tête? – Naeem

+0

Ils ne sont pas dans l'en-tête comme par exemple, il apparait dans le corps du html Nous avons généralement des références js dans le corps, ce qui fonctionne bien pour d'autres trucs donc je ne pense pas que l'avoir dans l'en-tête fera une différence rence malheureusement ... –

Répondre

1

Le problème semblait être en relation avec 2 références à la bibliothèque jquery, une, qui était plus ancienne que l'autre.Avoir enlevé l'ancienne référence et le message d'erreur est maintenant passé