Ios href=tel:555链接在mobile safari中不工作

Ios href=tel:555链接在mobile safari中不工作,ios,html,hyperlink,mobile-safari,Ios,Html,Hyperlink,Mobile Safari,我正在设计一个手机页面,并使用以下(我相信是标准的)代码让手机拨打一个电话号码 <a href="tel:555-1234567" class="call"><img src="graphics/call-icon.gif" alt="call-icon" width="45" height="50"></a> 这在android中运行良好,但Mobile Safari I出现以下错误: 无法打开页面Safari无法打开页面,因为地址为 无效的 在您的中

我正在设计一个手机页面,并使用以下(我相信是标准的)代码让手机拨打一个电话号码

<a href="tel:555-1234567" class="call"><img src="graphics/call-icon.gif" alt="call-icon" width="45" height="50"></a>

这在android中运行良好,但Mobile Safari I出现以下错误:

无法打开页面
Safari无法打开页面,因为地址为 无效的

在您的
中放入:

<meta name="format-detection" content="telephone=yes">

发件人:

这将启用或禁用对可能的故障的自动检测 iOS上Safari网页中的电话号码。语法讨论 默认情况下,iOS上的Safari会检测任何格式化为手机的字符串 并使其成为调用该号码的链接。指定 电话=否禁用此功能。iOS 1.0中提供的可用性 后来。支持级别的Apple扩展


要使电话号码在Safari/iOS中工作,您需要正确设置电话的格式,就像在旧广告中列出一样

<a href="tel:1-555-123-4567" class="call">
----- OR -----
<a href="tel:15551234567" class="call">

-----或-----

您的加价很好,它可以在我的iPhone(3GS,运行4.3.5)上运行。它在iOS模拟器上不起作用(是的,存在“无法打开页面-Safari无法打开页面,因为地址无效”的错误),但是我不希望它会起作用,因为你不能调用它(或者是旧版本的iOS出了问题).

如果您的电话号码没有出现在safari上,您仍然有一个问题。我遇到了完全相同的问题,我发现如果您不使用网络友好字体,它将不会显示。请尝试将号码的字体更改为Verdana或Arial。我使用谷歌网页字体,它应该是网页友好的,但即使这样也打破了我的数字


希望这能起作用。

您可能希望在超链接标记中添加
target=“\u blank”

它对我有用


阅读更多关于
target=“\u blank”
的信息,以下内容对我有用,希望对我有所帮助

<a href="javascript:void(0)" onclick="window.location='tel:8005555555'" class="call">800 555 5555</a>


它应该可以在ios chrome和safari上运行。

2021更新这里,我正在为android和ios构建一个Ionic应用程序,在safari中获取手机链接时遇到问题,我所做的是创建一个小实用程序功能(typescript),通过以下方式清除手机号码中的任何字符:

cleanPhoneNumber(text: string): string {

    const cleanText = text.trim()
        // INITIAL CHAR
        .replace(/\+/g, '')
        // COMMON SEPARATORS
        .replace(/\-/g, ' ').replace(/\./g, ' ')
        // RARE CHARACTERS
        .replace(/\_/g, '').replace(/\,/g, '').replace(/\:/g, '').replace(/\;/g, '').replace(/\~/g, '');

    return cleanText;
}
像“+”或“-”这样的字符会导致safari无法正确处理href:tel(尽管Chrome或Firefox可以很好地处理)


希望这能帮助像我这样的新手为ios构建应用程序

您是否尝试从电话号码中删除破折号?也就是说,只保留数字。我正在iOS模拟器上测试它是否相关。如果你正在使用模拟器,而你没有手机应用程序,请查看此链接,它将无法工作。不,仍然会得到相同的错误。我还从你的回答中添加了meta-taag,但没有用。我也尝试过将链接设置为电话:171,这是爱尔兰的标准语音信箱号码。我很欣赏这个选项提供的灵活性,更不用说与iOS上的Chrome兼容了。(证实在iOS 10.2.1上为Chrome和Safari工作)这个答案似乎经受住了时间的兼容性测试。我只是想补充一点,Safari做了这个把戏后,电话号码“1-555-555-5555”变成了优雅的流线型方法,但不幸的是,Chrome在iOS上不起作用。这种情况在2018年仍在发生……在2020年仍在发生。您需要提供完整的电话号码,包括国家前缀。那么在Safari中,至少版本14可以正常工作。谢谢你的回答。经过测试并在ios上运行——2019年6月