页面发短信和打电话都简单的使用了tel:和sms:的链接值,这样的:
1
2
3
|
<a href=”tel:12312312123″>打电话</a>
<a href=”sms:12312312123″>发短信</a>
|
手机上的浏览器看到这样的链接,就会自动调出短信和拨号的界面啦,其实很早之前的mailto:,也是类似这样的东西。
但是即便如此,我发现还是不行,为啥呢,经过旷日持久的debug后,发现生产的代码发现居然是<a href="unsafe:sms:12312312123">xxx</a>
,为啥,unsafe是什么鬼?
angularJS新手表示压力很大,请教google大神后,有善良的叔叔拯救了我,原来angular对href是有安全检查的,只能生成它认为安全的链接。AngularJS真是为我们的安全操碎了心……而我也更加明白了{{}}并不是一个简单的模板替换,它真的把我们的html重新编译了一遍!
解决方法如下~
1
2
3
4
5
6
7
8
9
|
angular.module(‘app’).config( [
'$compileProvider',
function( $compileProvider )
{
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|file|sms):/);
// Angular v1.2 之前使用 $compileProvider.urlSanitizationWhitelist(...)
}
]);
|
- 本文固定链接: http://madong.net.cn/index.php/2016/08/575/
- 转载请注明: 管理员 于 小东 发表