如何在打字稿中显示留言

How to show leave message in typescript

我正在我的项目中实施 Paytm 网关集成并成功完成,但是当我调用 paytm api 时 api 页面显示在其他 chrome window 打开(弹出窗口)所以当我关闭 window 它没有显示警报或在 window 上留言所以如何在打字稿

中实现

这是我的 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>

我搜索了很多资源和堆栈溢出但没有任何解决方案。

感谢任何帮助,祝编码愉快

你好@Developer当你的新window打开API调用不同的window时,无法处理beforeunload 其他 window 上的事件,因为您使用的是 2 个不同的浏览器,所以如果您将 beforeunload 代码放入代码中,那么它将 运行 仅 parent chrome window 它不会在 child chrome 上工作所以我的建议是在相同的 window 和 show 上显示 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 class

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