如何检测用户是否接受或拒绝iOS上的呼叫提示?

时间:2017-10-07 11:06:18

标签: javascript html ios

在iOS上,当我<a href="tel:1234">call me</a>时,会弹出提示。

如何在javascript中检测用户是取消还是接受拨打电话?

onBlur and onFocus不会在iOS上被解雇。

感谢。

1 个答案:

答案 0 :(得分:8)

简短回答 不,这不可能来自网页。如果您使用自定义提示创建本机应用程序,则可能。

答案很长

此提示是对911漏洞的回应。 https://9to5mac.com/2017/03/06/911-ios-exploit/

您可以在10.3发行说明中看到它 https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-10.3/

https://developer.apple.com/library/content/featuredarticles/iPhoneURLScheme_Reference/PhoneLinks/PhoneLinks.html

进一步解释了这种行为
  

tel URL方案用于在iOS设备上启动Phone应用程序   开始拨打指定的电话号码。当用户点击一个   在网页中的电话链接,iOS显示询问用户是否有警报   真的想拨打电话号码并启动拨号   用户接受。当用户使用本机中的tel方案打开URL时   应用程序,iOS 10.3及更高版本显示警报并要求用户   拨号前确认。 (当这种情况发生在。的版本中时   iOS 10.3之前,iOS启动拨号而无需进一步提示   用户并且不显示警报,尽管本机应用程序可以   配置为显示自己的警报。)

根据RFC 3966:11。安全注意事项

  

Web客户端和类似工具不得使用&#34; tel&#34;要放置的URI   未经用户明确同意的电话   客户。没有适当的用户自动拨打电话   确认可能会产生许多风险,例如所描述的风险   下面:

     

o通话可能会产生费用。

     

o URI可能用于发出恶意或恼人的电话。

     

o通话将使用户的电话线摘机,从而阻止         它的用途。

     

o电话可能会向用户显示用户未列出的电话号码         远程主机在呼叫者识别数据中可以允许         攻击者将用户的电话号码与其他人联系起来         信息,例如电子邮件或IP地址。

另见Suppressing the native dialog when clicking on a tel: link