很不理解为什么要弄小程序,很烦
唉
特别是百度小程序,论坛做的跟那什么一样,没人回应,文档不全,登陆还出错,问人都没办法
自己琢磨了一套比较完善的打电话流程,姑且看看吧
<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>
网友评论