网站搜索

ionic2 - Typescript:我如何在ionic中从iFrame获取输入数据


我有一个 Ionic 页面,它调用外部 iframe 支付页面。这个 iframe 有它自己的操作,然后在 iframe 内部返回结果(比如重定向到安全支付页面)

我在框架中打开页面像

<ion-content padding>
  <ion-label>Result :</ion-label>
  <iframe id="payment-frame" width="100%" height="100%" [src]="url" frameborder="0" allowfullscreen></iframe>
</ion-content>

在 ts 文件中,我试着获取输入,如

var script = (<HTMLScriptElement[]><any>document.getElementsByName('Result'))[0];
console.log(script); 

// 输入为 null

然后我尝试先获取框架,然后获取里面的元素,就像

var inputValue = (<HTMLInputElement>document.getElementById('payment-frame').contentWindow.document.getElementById('Result'));

// 它说 HTMLElement 中不存在 content windows。

我如何从外部 iframe 页面获取 'Result' 元素?有人能帮忙吗?

答案#1

我认为你可以使用 postMessage() 来进行通信 https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

试试看 :)

如果有需要的话,我稍后会尝试创建一个 plunk