我正在尝试从表单提交中的不同角度应用程序在iFrame中打开角度应用程序。该应用程序(要打开的应用程序)的网址包含#。但是iFrame通过删除#之后附加的所有部分,将页面重定向到其他网址。 例如:要打开的网址:http://localhost:8080/tempApp/dist/#/web/properties?objIndex=1234 在iFrame中加载的网址:http://localhost:8080/tempApp/dist/?objIndex=1234 我该怎么办?
答案 0 :(得分:0)
您需要一个管道并使用DomSanitizer
例如
import { MyApp, SafePipe } from './myapp.component';
@NgModule({
declarations: [
AppComponent,
SafePipe
],
在您的应用中创建管道
import { Component, ViewEncapsulation, ViewChild, ElementRef, PipeTransform, Pipe, OnInit } from '@angular/core';
import { DomSanitizer } from "@angular/platform-browser";
@Pipe({ name: 'safe' })
export class SafePipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) { }
transform(url) {
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
}
@Component({
selector: 'app-root',
templateUrl: './myapp.component.html',
styleUrls: ['./myapp.component.css']
})
export class MyApp {
title = 'app';
myiframe: string = "your_url_here"
}
在您的html
<iframe width="420" height="345" [src]="myiframe | safe">
</iframe>