我正在为基于Cordova平台和使用ExtJS框架的不同平台构建一个Web应用程序 . 目前我正在尝试使用href =“tel:0123456789”链接电话号码,它在Android和Window上运行正常 .
然而,当我点击IOS中的电话链接时,它不显示默认警报并在没有提示的情况下启动拨号 . 这真的很奇怪,因为即使在Apple的URL Scheme Reference中也说:
当用户点击网页中的电话链接时,iOS会显示一条警告,询问用户是否确实要拨打电话号码并在用户接受时启动拨号 .
我试过了:
•删除HTML中的锚标记,让Safari自动链接电话号码 . - 它确实成功地锚定了页面上的所有数字,但是一旦我点击它们,它就会立即直接打电话而没有警报确认 .
•使用onclick =“window.location.href = ” - 电话号码甚至没有链接 .
•使用'telprompt'代替'tel' - Apple不再支持'telprompt'
我在Iphone 6和5上测试了相同的结果 .
那么如何在调用'href = tel:'标签之前进行IOS显示确认警报?
2 回答
在config.xml中:
在html中:
好的,最后我得到了解决方案...基本上除了HristoEftimov和Steve的答案之外,我需要在我的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);