"href:tel"链接无法在 IOS 中打开警报视图



我正在基于Cordova平台并使用ExtJS框架为不同平台构建一个web应用程序。目前,我正在尝试使用href="tel:023456789"链接电话号码,它在Android和Window上运行良好。

然而,当我点击IOS中的电话链接时,它不会显示默认警报,并在没有提示的情况下启动拨号。这真的很奇怪,因为即使在苹果的URL方案参考中也说:

当用户点击网页中的电话链接时,iOS会显示一条警报,询问用户是否真的想拨打电话号码,如果用户接受,则会启动拨号。

我尝试过:

•删除HTML中的锚定标签,并让Safari自动链接电话号码-它确实成功地锚定了页面上的所有号码,但我一点击它们,它就立即打来了,没有得到警报确认。

•使用onclick="window.location.href={phonenumberg}"-电话号码甚至没有链接。

•使用"telprompt"而不是"tel"-Apple 不再支持"telpromt">

我在Iphone 6和5上测试了结果。

那么,如何在调用'href=tel:'标签之前让IOS显示确认警报呢?

在config.xml中:

<allow-intent href="tel:*" />

在html:中

<a href="tel:1-xxx-xxx-xxxx">1-xxx-xxx-xxxx</a>

好吧,我终于找到了解决方案。。。基本上,除了HristoEftimov和Steve的回答之外,我还需要在我的config.xml 中包含<allow-navigation href="tel:*" />

然而,这破坏了Android的代码,所以我只能在ios中实现它。所以<platform name="ios"><allow-intent href="tel:*" /><allow-navigation href="tel:*" /></platform>

此外,我不得不从onclick事件调用电话链接:<a onclick=" onPhoneNumberClick(' + arrayPhoneNumbers[i] + ')" href="javascript:void(0);">

那个调用了PhoneNumberClick的方法,我在那里打开了窗口中的链接。打开如下:window.open("tel:"+number);

最新更新