微信内置浏览器中如何实现点击电话号码自动到拨号页面?

微信内置浏览器中如何实现点击电话号码自动到拨号页面?

阅读 42.5k
5 个回答

一般的web处理
1.一键拨号:

<a href="tel:10086">马上拨打电话10086</a>

2.发送短信功能:

<a href="sms:10086">发送短信</a>

3、移动web页面自动探测电话号码

<meta name="format-detection" content="telephone=no">
<meta http-equiv="x-rim-auto-match" content="none">

4.使用wtai协议进行拨打电话。

<a href="wtai://wp//mc;10086">拨打10086 </a>  
<a href="wtai://wp/ap;10086;">存储</a> 

一般建议采用这个方式。

关于微信页面会出现屏蔽的方式,所以采取以下解决方案

解决方法如下:
1、拨号的代码还是不变,和原先的一样,
2、打开拨号页面要做下处理,在网址后面增加一个锚节点mp.weixin.qq.com。
实例如下:
如:<a href="tel:10086">一键拨号</a> 上需要拨号代码,操作如下
在有这个代码的页面URl后边加上“#mp.weixin.qq.com” 如:tel:10086#mp.weixin.qq.com

html<a href="tel:12345678901">拨打电话</a>
<a href="sms:12345678901">发送短信</a>

iOS默认在webview识别电话号码添加点击。可以使用js判断给特定数字加上链接

本人是typescript语法,请自觉改造.

/**

  • 是否ios浏览器

*/
isIosBrowser = (() => {

let isIos = null;
return () => {
  if (isIos === null) {
    isIos = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  }
  return isIos;
};

})();

/**

  • 拨打电话
  • @param number

*/
callNumber(number: string): void {

if (this.isIosBrowser) {
  let a = document.createElement('a');
  a.href = 'tel:' + number;
  a.style.visibility = 'hidden';
  document.body.appendChild(a);
  a.click();
} else {
  window.location.href = 'tel:' + number;
}

}

推荐问题
宣传栏