美文网首页
小程序套入webview打电话,同时兼容web和小程序

小程序套入webview打电话,同时兼容web和小程序

作者: 水电梁师傅 | 来源:发表于2019-06-27 18:13 被阅读0次

    很不理解为什么要弄小程序,很烦

    特别是百度小程序,论坛做的跟那什么一样,没人回应,文档不全,登陆还出错,问人都没办法
    自己琢磨了一套比较完善的打电话流程,姑且看看吧

    <script  src="https://b.bdstatic.com/searchbox/icms/searchbox/js/swan-2.0.6.js"></script>
        <script type="text/javascript">
            
            function callMobile(phone) {
    
                swan.makePhoneCall({
                    phoneNumber: phone
                });
                return false;
            }
            function checkSmart(phone)
            {
                var phone = phone;
                try
                {
                    
                    swan.webView.getEnv(function(res){
    
                        var isSmart=res.smartprogram;
                        console.log(isSmart)
                        if(isSmart)
                        {
                           callMobile(phone)
                            return false
    
                        }else
                        {
                            window.location.href = 'tel:'+phone;
                            return false;
                        }
    
                    });
    
                    
                }catch(e)
                {
                    
                    
                    //TODO handle the exception
                }
    
                
                window.location.href = 'tel:'+phone;
    
                return false;
            }
    

    姑且说一下为什么要加trycatch,因为会出错!

    swan.webView.getEnv(function(res) { console.log(res.smartprogram) // true })    
    

    这段代码在网页是无效的,不会打印任何东西,只能盲猜出错
    为什么if(issmart)失败之后还要两次window.loc跳转,并且中断,因为如果不中断百度小程序页面跳转之后会显示无网络连接,为了兼容只能这么做,亲测有效

    -------------------------上面那段不好用,几经周折,这个更好用----------------------

            <script  src="https://b.bdstatic.com/searchbox/icms/searchbox/js/swan-2.0.6.js"></script>
            <script>
                //判断是否出于百度小程序内部,如果属于,就调用内部api
                function call_phone(phone)
                {
                    if(navigator.userAgent.match(/swan/) !=null)
                    {
                        swan.makePhoneCall({
                            phoneNumber: phone
                        });                 
                    }else
                    {
                        window.location.href='tel:'+phone
                    }
                }
                      </script>
    

    相关文章

      网友评论

          本文标题:小程序套入webview打电话,同时兼容web和小程序

          本文链接:https://www.haomeiwen.com/subject/pofdcctx.html