地方的风情
地方的风情
  • 发布:2016-04-12 01:49
  • 更新:2017-08-16 16:42
  • 阅读:9393

ReferenceError: Can't find variable: plus

分类:5+ SDK

IOS中一直出现这个错误

/**  
 * 公告函数文件   
 */  
var domain = 'http://a.com';  
document.addEventListener( "plusready", onPlusReady, false );   
function onPlusReady() {  
    // 扩展API加载完毕,现在可以正常调用扩展API  
    // 这里已经显示加载成功了  
    console.log('加载成功')  
}  

$.ajaxSettings = $.extend($.ajaxSettings, {  
    xhr: function() {  
        return new plus.net.XMLHttpRequest();  
    }  
});  
$.ajax2 = function(options,title){  

    if(title == undefined)  
    {  
        title = '加载中...';  
    }  
    options.beforeSend = function(xhr, settings){  
            $.showPreloader(title);  
    }  
    options.complete = function(xhr, settings){  
        $.hidePreloader();  
    }  
    $.ajax(options);  
}  
/**  
 *  message: ( String ) 必选 提示对话框上显示的内容  
    alertCB: ( AlertCallback ) 可选 提示对话框上关闭后的回调函数  
    title: ( String ) 可选 提示对话框上显示的标题  
    buttonCapture: ( String ) 必选 提示对话框上按钮显示的内容   
 */  
var message = function(message,alertCB,title,buttonCapture){  
    plus.nativeUI.alert( message, alertCB, title, buttonCapture );  
}  
/**  
 * 用户操作  
 */  
user = {}  
/**  
 *  检测用户是否已登录   
 */  
user.guest = function(){  
    var token = plus.storage.getItem('token');  
    if(token)  
    {  
        return true;  
    } else {  
        return false;  
    }  
}  
/**  
 * 用户登录操作  
 */  
user.login = function(data,token){  
    var userInfo = JSON.stringify(data);  
    plus.storage.setItem('user', userInfo);  
    plus.storage.setItem('token', token);  
}  
/**  
 * 用户退出操作   
 */  
user.logout = function(){  
    plus.storage.clear();  
}  

$(function(){  
    //检测是否登录   
    if(user.guest)  
    {  
        if(window.plus == undefined)  
        {  
            document.addEventListener( "plusready", onPlusReady, false );   
        }  
                //这里就出现不能加载plus错误  
        var webview = plus.webview.create( "main.html", "main" );     
        webview.show();  
    }  

    $(document).on('click', '#but_login', function () {  
        post = {};  
        post.username = $('#login input[name=username]').val()  
        post.password = $('#login input[name=password]').val()  
        $.ajax2({  
            url:domain+'/home/mobile-login',  
            data:post,  
            dataType:'json',  
            success:function(data){  
                if(data.success)  
                {  
                    message(data.success,function(){  
                            //保存登录信息  
                            user.login(data.user,data.token);  
                            var webview = plus.webview.create( "main.html", "main" );     
                        webview.show();  
                    })  
                }  
                if(data.error)  
                {  
                    message(data.error)  
                }  
            },  
            error:function(e){  
                console.log(e)  
            }  
        },'正在登录中')  

  });  
})  
2016-04-12 01:49 负责人:无 分享
已邀请:
菜菜的小黄鸭

菜菜的小黄鸭 - 黄黄的小菜鸭

请问你现在解决了这个问题吗

Trust

Trust - 少说废话

在plus还未定义的情况下就调用,肯定会报变量未定义的错误的。判定条件应当是这样的

if(window.plus) {  
    plusReady();  
} else {  
    document.addEventListener('plusready', plusReady);  
}

该问题目前已经被锁定, 无法添加新回复