打字稿:如何从离子中的 iFrame 获取输入数据
Typescript : How can I get input data from iFrame in ionic
我有 ionic 页面 调用外部 iframe 支付页面。这个 iframe 有它自己的操作,然后 return 结果在它自己的框架中,(比如重定向安全支付页面)
我在框架中打开页面
<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);
//输入为空
然后我试着先获取框架然后获取里面的元素,比如
var inputValue = (<HTMLInputElement>document.getElementById('payment-frame').contentWindow.document.getElementById('Result'));
// 表示内容 windows 在 HTMLElement 中不存在。
如何从外部 iframe 页面获取 'Result' 元素?有人可以帮忙吗?
我认为您可以使用 postMessage() 进行通信https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
试一试:)
如果需要的话,我稍后会尝试创建一个 plunk
我有 ionic 页面 调用外部 iframe 支付页面。这个 iframe 有它自己的操作,然后 return 结果在它自己的框架中,(比如重定向安全支付页面)
我在框架中打开页面
<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);
//输入为空
然后我试着先获取框架然后获取里面的元素,比如
var inputValue = (<HTMLInputElement>document.getElementById('payment-frame').contentWindow.document.getElementById('Result'));
// 表示内容 windows 在 HTMLElement 中不存在。
如何从外部 iframe 页面获取 'Result' 元素?有人可以帮忙吗?
我认为您可以使用 postMessage() 进行通信https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
试一试:)
如果需要的话,我稍后会尝试创建一个 plunk