[英]“href:tel” link doesn't open alert view in IOS
我正在为基于Cordova平台和使用ExtJS框架的不同平台构建一个Web应用程序。 目前我正在尝试使用href =“tel:0123456789”链接电话号码,它在Android和Window上运行正常。
然而,当我点击IOS中的电话链接时,它不显示默认警报并在没有提示的情况下启动拨号。这真的很奇怪,因为即使在Apple的URL Scheme Reference中也说:
当用户点击网页中的电话链接时,iOS会显示一条警告,询问用户是否确实要拨打电话号码并在用户接受时启动拨号。
我试过了:
•删除HTML中的锚标记,让Safari自动链接电话号码。 - 它确实成功地锚定了页面上的所有数字,但是一旦我点击它们,它就会立即直接打电话而没有警报确认。
•使用onclick =“window.location.href = {phonenumber}” - 电话号码甚至没有链接。
•使用'telprompt'代替'tel' - Apple不再支持'telprompt'
我在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事件调用tel链接: <a onclick=" onPhoneNumberClick(' + arrayPhoneNumbers[i] + ')" href="javascript:void(0);">
那个叫onPhoneNumberClick的方法,我在window.open中打开了这样的链接: window.open("tel:"+number);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.