Javascript 由于某些奇怪的原因跳过初始化代码时出现jQuery undefined对象错误

Javascript 由于某些奇怪的原因跳过初始化代码时出现jQuery undefined对象错误,javascript,jquery,skype,skype4com,Javascript,Jquery,Skype,Skype4com,我正在尝试在我的网站上运行Skype SDK,这将允许我最初登录Skype。我正在使用的代码来自,但是当通过它运行javascript时,会抱怨一个未定义的对象。下面是javascript代码(忽略$j,这是我们运行jQuery所需要的) 当我运行此过程时,它不会进入“Skype.initialize({)”代码,而是跳转到“client.signInManager.state.changed(function(state){”,当它抛出此错误“Uncaught TypeError:无法读取未定

我正在尝试在我的网站上运行Skype SDK,这将允许我最初登录Skype。我正在使用的代码来自,但是当通过它运行javascript时,会抱怨一个未定义的对象。下面是javascript代码(忽略$j,这是我们运行jQuery所需要的)


当我运行此过程时,它不会进入“Skype.initialize({)”代码,而是跳转到“client.signInManager.state.changed(function(state){”,当它抛出此错误“Uncaught TypeError:无法读取未定义的“signInManager”属性时。通过chrome中的源调试器运行此过程时,它显示“Application”未定义,并且“客户端”也未定义。因此,我的问题是,为什么这两个对象没有在Skype.initialize代码中进行初始化?

在客户端初始化后,您必须添加侦听器。因此,在initialize“success”中回调。按照您目前的实现方式,脚本试图在客户端初始化之前,在未定义的对象属性上添加侦听器,因此出现错误。

谢谢,但我是jQuery的新手,所以您能进一步阐述一下吗?
/**
 * This script demonstrates how to sign the user in and how to sign it out.
 */
$j(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) {
    $j('#application_state').text(state);
  });

  // when the user clicks on the "Sign In" button
  $j('#signin').click(function () {
    // start signing in
    client.signInManager.signIn({
      username: $j('#username').text(),
      password: $j('#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
  $j('#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');
      });
  });
});