Javascript 如何制作<;a href>;仅在移动设备上处于活动状态?
我想添加此代码,使我的网站上的联系人详细信息在单击时自动跳入移动拨号板/通讯簿:Javascript 如何制作<;a href>;仅在移动设备上处于活动状态?,javascript,html,css,mobile,contacts,Javascript,Html,Css,Mobile,Contacts,我想添加此代码,使我的网站上的联系人详细信息在单击时自动跳入移动拨号板/通讯簿: <a href="tel:12345555555">Call Us Now</a> 如何使其显示为非电话设备(计算机、平板电脑、笔记本电脑)的纯文本,以使其不会返回404错误且无法单击 很高兴使用HTML/CSS/JS的任意组合来实现这一点。不要使用超链接。使用。手机会识别出它是一个电话号码,并允许点击它,但不会影响正常的网络浏览器 <div class="vcard">
<a href="tel:12345555555">Call Us Now</a>
如何使其显示为非电话设备(计算机、平板电脑、笔记本电脑)的纯文本,以使其不会返回404错误且无法单击
很高兴使用HTML/CSS/JS的任意组合来实现这一点。不要使用超链接。使用。手机会识别出它是一个电话号码,并允许点击它,但不会影响正常的网络浏览器
<div class="vcard">
<div class="tel">
12345555555
</div>
</div>
12345555555
我也遇到了同样的问题,开始使用meta标记进行格式检测:
<meta name="format-detection" content="telephone=no" />
根据与相同问题的讨论:
这可能无法直接回答这个问题,但我会质疑你的假设,即你需要隐藏其他设备上的呼叫链接 为什么?
- 非电话设备仍然可以拨打电话。例如,带有VoIP客户端的PC可以处理
链接tel:
- 平板电脑(iPad和Android)通过允许用户将电话号码添加到他们的联系人中来处理
链接,这无疑会同步到他们的手机上,这对用户来说是一个很好的方便tel:
- 依靠自动格式检测是一种攻击
马上打电话给我们
另外,请记住,tel:
链接不会导致404错误,因为从未生成HTTP请求。在我没有tel:
handler的机器上,Chrome什么也不做,IE9说“这个网页上的一些内容或文件需要一个你没有安装的程序。”(合理),Firefox说“Firefox不知道如何打开这个地址,因为协议(tel)与任何程序都没有关联。”(也合理)
当我面对这个问题时,我决定离开
tel:
链接的好处大于任何缺点或混乱的选择。我正在使用下面的CSS来实现这一点
@media screen and (min-width: 768px) {
a[href*="tel:"] {
cursor:default;
}
}
它是基于这种方法还将禁用手机上的电话号码检测,这在本例中是我们不希望看到的。这是一个很好的答案,值得深思,经过投票,一旦我进一步研究并做出决定,我将接受答案。感谢您的输入。将链接到不受支持设备上的错误页面的链接放在您的页面上似乎是糟糕的用户体验设计。这就是为什么你想在不受支持的设备上隐藏呼叫链接。链接号码也是RFC 3966建议的-并且在硬拷贝打印输出上是必不可少的(可以说是不支持以下
tel:
URL的极端情况)。如果我有更多的代表,我会增加奖金来奖励这个答案。我很高兴你和我分享了这个信息。微数据是一个很好的答案。我正在考虑重写Web服务器,以捕获电话:######
请求并将其发送到联系人页面。但是如果用户代理可以处理微数据,那就更好了。太棒了!此外,如果您碰巧关心电话号码在网站上的显示,您可以按如下格式设置号码:(123)555-5555(带或不带连字符/括号)。如果我添加的微数据不带
,手机将无法继续单击它