美文网首页
小程序套入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