[置顶] web前端-获取用户的来源是否为新浪微博

最近通过微博营销,一大部分用户是从微博客户端过来的,我们希望微博过来的直接用新浪微博的oauth来自动登录,以提升用户的体验(这样用户不用再输入用户名和密码),因此我们需要判断出用户的来源,之前没有写过类似的代码,走了不少弯路,希望下面的内容能给其他人带来一些帮助。


function isFromSina(){
    var result = false;
    try{
        var ref = document.referrer;
        if(ref!=null){
            var index = ref.indexOf('?');
            // 清除参数部分
            if( index > -1 ){
                ref = ref.substring(0,index);
            }
        }
        if(ref.indexOf('weibo.c')>=0){
            result = true;
        }else{
            // ipad上的新浪微博app只能用下面方式来判断
            var u = navigator.userAgent;
            if(u.indexOf('weibo')>=0){
                result = true;
            }
        }
    }catch(err){}
    return result;
}

你可能感兴趣的:(新浪微博,web前端,开放平台)