" HREF:电话"链接不会在IOS中打开警报视图

时间:2017-01-11 18:02:57

标签: javascript html ios cordova extjs

我正在为基于Cordova平台和使用ExtJS框架的不同平台构建Web应用程序。目前我正在尝试使用href =" tel:0123456789"来连接电话号码。它在Android和Window上运行良好。

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

  

当用户点击网页中的电话链接时,iOS会显示一条警告,询问用户是否确实要拨打电话号码,并在用户接受时启动拨号。

我试过了:

•删除HTML中的锚标记,让Safari自动链接电话号码。 - 它确实成功地锚定了页面上的所有数字,但是一旦我点击它们,它就会立即直接打电话而没有警报确认。

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

•使用' telprompt'而不是' tel' - ' telprompt'不再受Apple支持

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

那么如何在拨打' href = tel:'之前进行IOS显示确认提醒?标签

2 个答案:

答案 0 :(得分:0)

在config.xml中:

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

在html中:

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

答案 1 :(得分:0)

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

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

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

调用onPhoneNumberClick方法,我在window.open中打开链接,如下所示:window.open("tel:"+number);