我正在使用一个小的 cordova 应用程序,基本上打开我的网站使用InAppBrowser,在我的网站上,用户能够打电话给我们使用这条线:
<a href="tel:xxxxxxxxxxx">
我遇到了一个问题,IOS设备只当试图调用时,按钮不工作或没有响应。我用XCODE调试了一下,发现点击调用返回错误-
加载资源失败:不支持的URL
当然,我在网上搜索并尝试了多种解决方案,如:
1.更改配置XML和索引。html(Cordova)
config.xml:
<allow-intent href="tel:*" />
<allow-intent href="geo:*" />
<allow-intent href="mailto:*" />
<allow-intent href="sms:*" />
<allow-intent href="market:*" />
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<allow-navigation href="http://localhost" />
<allow-navigation href="*" />
<access origin="*" />
index.html
<meta http-equiv="Content-Security-Policy" content="default-src * cdvfile: filesystem: file: data: ; style-src 'self' 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; media-src *">
1.使用Safe.pipe(在我的网站上使用Angular 6)来清理URL
this.sanitize.bypassSecurityTrustResourceUrl(url)
1.遵循cordova白名单插件指令
$ cordova plugin add cordova-plugin-whitelist
$ cordova prepare
<!-- Allow tel: links to open the dialer -->
<allow-intent href="tel:*" />
我做了一些其他的检查,但以上是主要的,
感谢所有的帮助和支持:)
2条答案
按热度按时间mlnl4t2r1#
您可以尝试使用插件cordova-plugin-phone-call或按照this post手动修改
如果您希望捕获和处理不仅仅是tel,并使用默认应用程序打开,您可以查看cordova-plugin-openwith。
9udxz4iz2#
我还有一个cordova-ios应用程序,它没有调出href=tel锚标记的电话拨号提示。FWIW我尝试了cordova-plugin-phone-call,但这对我不起作用-也不是任何配置。xml调整。让事情为我工作的是这个链接的信息:https://9to5answer.com/tel-sms-and-mailto-no-longer-working-in-android-after-upgrading-to-cordova-3-6-3。以下是我的前后对比,供同行参考:
之前(不工作):
工作后: