安卓不安全:使用PhoneGap应用程序的tel:链接

6

我使用PhoneGap编写了一个应用程序。

我从服务器接收到电话号码列表。 当列表中的某个项目被点击时,控制器会触发此函数:

$scope.call = function(number){
        document.location.href = 'tel:' + number;
    }

在iPhone上没问题,但是在Android上我遇到以下问题:

unsafe:tel:+97235726333

为什么?是UTF-8编码的问题吗?

3
你是否在使用Angular进行tel:href属性数据绑定?Angular使用协议白名单,并会在任何使用未列入白名单的协议的URL前添加unsafe:。了解更多详情,请查看此处:https://dev59.com/fWUo5IYBdhLWcg3w_DpK - Adrien Delessert
我尝试添加显示的代码,但出现了以下错误: Uncaught TypeError: Object #<$CompileProvider> 没有 'aHrefSanitizationWhitelist' 方法,来自 MyApp。 - ben ezra
好的,我将把函数更改为urlSanitizationWhitelist。 我会检查的,谢谢。 - ben ezra
1个回答

0

一些系统不考虑加号,我知道以前在旧项目中遇到过这样的问题。你可以做的一件事是用00替换+,两个零相当于一个加号,这样就成为了一个完整的整数,没有+,这可能是内部解析器的问题。

$scope.call = function(number){
   document.location.href = 'tel:' + number.replace("+","00");
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接