检测 Javascript 中的 HTML <a> 点击呼叫支持

Posted

技术标签:

【中文标题】检测 Javascript 中的 HTML <a> 点击呼叫支持【英文标题】:Detecting HTML <a> click-to-call support in Javascript 【发布时间】:2012-08-21 22:29:04 【问题描述】:

有两种方法可以在 html 中添加点击通话链接

&lt;a href="wtai://wp/mc;+1800229933&lt;/a&gt; WTAI 风格(诺基亚等)

&lt;a href="tel:+1-800-275-2273"&gt;Call Apple Customer Support at 1-800-275-2273&lt;/a&gt;. TEL 风格(苹果)

怎么可能

检测当前用户代理在 javascript 中支持哪种格式?

是否可以在不依赖用户代理字符串的情况下进行检测

更多信息

http://www.mobilexweb.com/blog/click-to-call-links-mobile-browsers

http://www.raizlabs.com/blog/2007/07/02/iphone-telephone-hyperlinks/

【问题讨论】:

相关:***.com/questions/2872090/… 接受的答案也可能会给您一些好主意。 :) 还有“callto:”,skype 仍在使用。 【参考方案1】:

Max Firtman 在how to create click-to-call links for mobile browsers 上有一篇很棒的文章。他表示,几乎所有移动设备都支持tel: 协议,包括:ios 上的 Safari、android 浏览器、webOS 浏览器、Symbian 浏览器、Internet Explorer、Opera Mini 和低端设备浏览器。

由于tel: 协议的广泛支持,我建议只使用tel: 协议。为了支持诺基亚,我会检查navigator.userAgent 是否包含诺基亚足迹。如果是这样,请将tel: 替换为wtai://wp/mc;

如果您可以使用 jQuery,则 Javascript 可能类似于:

if (/(Series60|Nokia)/i.test(navigator.userAgent))
  $("a[href^='tel:']").each(function()
    this.href = this.href.replace("tel:", "wtai://wp/mc;");
  );

【讨论】:

以上是关于检测 Javascript 中的 HTML <a> 点击呼叫支持的主要内容,如果未能解决你的问题,请参考以下文章

用JavaScript检测视频格式支持

用JavaScript检测音频格式支持

通过Android WebView中的javascript检测点击HTML按钮

CSS *仅*检测 HTML 中的文本溢出?

通过Android WebView中的javascript检测点击HTML按钮

javascript检测浏览器对音频格式和视频格式的支持情况