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

moe*_*eth 1 html javascript ios

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

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

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

谢谢.

Zla*_*tev 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及更高版本会在拨号前显示警报并要求用户确认.(当在10.3之前的iOS版本中出现此情况时,iOS会在不进一步提示用户的情况下启动拨号,并且不会显示警报,但可以将本机应用程序配置为显示其自己的警报.)

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

Web客户端和类似工具不得使用"tel"URI在未经该客户端用户明确同意的情况下拨打电话.在没有适当的用户确认的情况下自动拨打电话可能会产生许多风险,例如下面描述的风险:

o电话可能会产生费用.

o URI可用于发出恶意或恼人的呼叫.

o通话将使用户的电话线摘机,从而阻止其使用.

o呼叫可以在呼叫者标识数据中向远程主机显示用户可能未列出的电话号码,并且可以允许攻击者将用户的电话号码与其他信息(例如电子邮件或IP地址)相关联.

另请参阅单击tel:链接时抑制本机对话框