首页 文章

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

提问于
浏览
1

我正在为基于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 回答

  • 0

    在config.xml中:

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

    在html中:

    <a href="tel:1-xxx-xxx-xxxx">1-xxx-xxx-xxxx</a>
    
  • 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);

相关问题