MatDialog和Iframe问题

时间:2018-03-19 11:23:27

标签: html angular iframe angular-material

我在使用Angular材质MatDialog和使用Libcast的Iframe时遇到了一些问题。当我更改窗口大小或将视频设置为全屏时,我遇到了不同的问题。 在Chrome上:视频重新开始,我可以看到窗口正在刷新。 在Modzilla上:当我打开全屏并且它返回到无全屏页面时视频崩溃。

我尝试使用开发工具直接在MatDialog中添加iframe,但我没有遇到任何问题,它运行正常。

  private openLibcastResource(resource: Resource) {
    this.dialog.open(VideoComponent, {
      data: {url: resource.sourceInfo.src},
    });
  }

@Component({
             selector: 'app-video',
             templateUrl: './video.component.html',
           })
export class VideoComponent implements OnInit {
  constructor(@Inject(MAT_DIALOG_DATA) public data: any,
              public dialogRef: MatDialogRef<VideoComponent>,
              private sanitizer: DomSanitizer) {
  }

  ngOnInit() {
  }

  public videoUrl() {
    return this.sanitizer.bypassSecurityTrustResourceUrl(this.data.url);
  }
}

  <iframe [src]="videoUrl()" class="libcast_player" width="560" height="450" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen" style="opacity: 1; visibility: visible;"></iframe>

您对发生的事情有什么想法吗?

1 个答案:

答案 0 :(得分:0)

每次修改窗口大小时都会调用getUrl()。所以视频被重置了,这就是全屏崩溃的原因。