如何使电话号码在台式计算机和智能手机中可点击/可呼叫



I want

<a href="callto/tel:1234567890">1234567890</a>

可在智能手机和台式计算机中单击。在智能手机中,我希望它拨打写入的号码,而在台式计算机中,我希望它使用默认的电话应用程序(例如Skype)来拨打号码。

似乎callTo属性不是w3c有效的(或者这是旧信息?),tel似乎不适用于Skype。这里使用的一般最佳解决方案是什么?

如果解决方案也是 w3c 有效的,那就太好了,但不是必需的。

这应该有效,请尝试调整屏幕大小。

   
.show-on-smartphones{display:none;}
 @media screen and (max-width: 480px) {
    .show-on-desktop{display:none;}
  .show-on-smartphones{display:block;}
      
}
<a href="callto:010101010101" class="show-on-desktop">Skype me</a><a href="tel:010101010101" class="show-on-smartphones">Tap to Call Me</a>

未经测试的 Javascript 代码:

function ancorSwitch(){
var os="Unknown";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
if(os != "Unknown")
{
var x=document.getElementById("myancor");
  x.setAttribute("href", "callto:010101010101");
  x.innerHtml = "Call me";
}
else{
var x=document.getElementById("a");
  x.setAttribute("href", "tel:010101010101");
  x.innerHtml = "Call me";
}

}

在 HTML 中,您编写:

<a id="myancor"></a>

我自己无法检查,

如果有人发现错误,我会修复它

最新更新