尝试将动态参数(例如用户令牌(从 Angular 应用程序传递到 Android 应用程序,适用于 静态查询参数,但链接未使用动态参数打开...
链接已打开:
<a href="intent://dummyIntent?token=12345/#Intent;scheme=https;package=net.openid.appauthdemo S.browser_fallback_url=http%3A%2F%2Fa-fallback-url;end">App</a>
链接未打开:
<a href="intent://dummyIntent?token={{user.token}}/#Intent;scheme=https;package=net.openid.appauthdemo S.browser_fallback_url=http%3A%2F%2Fa-fallback-url;end">App</a>
还尝试了额外的参数,同样的问题:
<a href="intent://dummyIntent/#Intent;scheme=https;package=net.openid.appauthdemo S.browser_fallback_url=http%3A%2F%2Fa-fallback-url;S.token={{user.token}};end">App</a>
提示:如果复制到剪贴板,链接将显示为"不安全">
unsafe:intent://dummyIntent?token=/#Intent;scheme=https;package=net.openid.appauthdemo;end
有什么建议可以解决这个问题吗?
找到了一个解决方案:使用了safeUrl-Pipe
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Pipe({
name: 'safeUrl'
})
export class SafeUrlPipe implements PipeTransform {
constructor(private domSanitizer: DomSanitizer) {}
transform(url) {
return this.domSanitizer.bypassSecurityTrustResourceUrl(url);
}
}
模板:
<a [attr.href]="intentLink | async | safeUrl">App</a>
如何避免在 Angular-2 链接中添加前缀"不安全"?