我正在尝试创建一个带有书签的页面,如下所示:
<a ng-href="{{getBookmarklet()}}">Bookmarklet</a>
function MyCtrl($scope) {
$scope.getBookmarklet = function() {
return 'javascript:alert(1)';
}
}
href 被清理为 unsafe:javascript:alert(1)。所以,我尝试使用 sce.trustAs 来防止这种情况:
function MyCtrl($scope, $sce) {
$scope.getBookmarklet = function() {
return $sce.trustAsUrl('javascript:alert(1)');
}
}
但是,我的 URL 上仍然有“不安全”前缀。我也尝试过 trustAsJs,但没有运气。我不想使用 compileProvider 将整个应用程序中的 javascript: URL 列入白名单,只允许这个实例。