javascript - Skype Web SDK 登录无法正常工作

标签 javascript jquery skype skypedeveloper

我正在使用 https://msdn.microsoft.com/EN-US/library/dn962162(v=office.16).aspx 中的 Skype SDK 入口点源并尝试登录 Skype,但我的 Skype 功能之一始终遇到问题。我目前有 2 个文本字段,它们都有自己的 ID 值(#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>

我从msdn网站上复制了一份js内容,如下所示,

$(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 页面时出现以下错误, “未捕获类型错误:无法读取未定义的属性‘signInManager’”。它指向错误的行是“client.signInManager.state.changed(function (state) {”。我可以看到“signInManager”位于 SDK-build.js 文件中,源正确地获取了该文件来自 swx.cdn.skype.com/vs/SDK-build.js 所以我不确定如何解决这个问题,有人对如何解决这个问题有任何想法吗?

最佳答案

问题似乎与 2 个对 jquery 库的引用有关,其中一个比另一个更旧。已删除旧的引用,错误消息现已消失。

关于javascript - Skype Web SDK 登录无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32633279/

相关文章:

javascript - Angular 1.5 组件回调绑定(bind)未执行

javascript - 为什么我的代码只有一部分有效?

stream - 关于流媒体,像 Skype 这样的程序如何工作?

android - 如何使用 Intent Chooser 在 Skype 上共享文本?

python-3.x - 如何使用 python 向 Skype 群聊发送自动消息

javascript - 如何使用 Promise 对一系列动态生成的异步操作进行排序?

javascript - MVC jquery 对话框无法正常工作

javascript - 使用 html 中的下拉列表框来更改图像

javascript - 使用 Jquery 淡出页面加载下一页

jquery - 根据数组值验证表单