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>
我自己无法检查,
如果有人发现错误,我会修复它