Как показать, оставить сообщение в машинописи - PullRequest
0 голосов
/ 04 февраля 2020

Я внедряю интеграцию шлюза Paytm в свой проект и успешно сделал, но когда я звоню в api paytm, страницы api отображаются в других chrome открытых окнах (всплывающих окнах), поэтому, когда я закрываю это окно, оно не отображает предупреждение или оставляет сообщение в окне, так как реализовать в машинописи

Вот мой код Ts

private externalWindow = null; 

this.externalWindow.addEventListener('beforeunload', function (e) { 
                    e.preventDefault(); 
                    e.returnValue = ''; 
                });

this.externalWindow = window.open(this.url, '', 'width=1024,height=600,left=200,top=200');

Html

<Window [url]="api"></Window>

, и я ищу много ресурсов и стек переполнение , но для этого нет никакого решения.

Любая помощь приветствуется и радует кодированием

1 Ответ

1 голос
/ 05 февраля 2020

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>.

...