Hello @ Developer , когда ваше новое окно открывается с помощью вызова API в другом окне, невозможно обработать событие beforeunload
в другом окне, потому что вы используете 2 разных браузера, поэтому, если вы поставите beforeunload
код в ваш код, тогда он будет запускать только родительское окно chrome, он не будет работать на дочернем chrome, поэтому я предлагаю показать iframe
в том же окне и показать скрыть что div
с некоторым условием типа
Например
<div *ngIf="showPortal">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" [src]="url | safeHtml" allowfullscreen scrolling="no"></iframe>
</div>
</div>
и вам нужно использовать safehtml
это имя канала это embed-responsive
embed-responsive-16by9
Bootstrap класс
import { DomSanitizer } from '@angular/platform-browser';
import { Pipe } from '@angular/core';
@Pipe({name: 'safeHtml'})
export class Safe {
constructor(private sanitizer:DomSanitizer){}
transform(value: any, args?: any): any {
return this.sanitizer.bypassSecurityTrustResourceUrl(value);
// return this.sanitizer.bypassSecurityTrustStyle(style);
// return this.sanitizer.bypassSecurityTrustXxx(style); - see docs
}
}
Обход защиты и доверие к указанному значению как к безопасному ресурсу URL
, то есть к месту, которое можно использовать загружать исполняемый код из, например <script src>
или <iframe src>
.