angularJs中的unsafe:
在页面中给一些按钮设置了锚点, 但是锚点是根据一些数据让angular计算出来的, 举例说明:
<a ng-href="getlocation('xxxx')"></a>
能够计算出来的, 就得出类似”#abc”这样的结果, 计算不出来的, 返回的结果是:”javascript:void(0);”, 然后angular计算完后的结果就是:
<a ng-href="unsafe:javascript:void(0);"></a>
这样对于chrome是无所谓的, 但是firefox就把它当成一个新的地址跳转了, 这不是我们预期的, 所以必须去掉unsafe:这个前缀. 具体方法就是:
angular.module('crDetailApp', [])
.config([
'$compileProvider',
function ($compileProvider) {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|javascript|mailto|tel|file|sms):/);
// Angular v1.2 之前使用 $compileProvider.urlSanitizationWhitelist(...)
}
])