3D セキュアの支払いロジックを JavaScript で統合しようとしています。クレジット カード情報を銀行に送信すると、返信 HTML が表示されます。この HTML は、画面を銀行の 3D パスワード画面にリダイレクトします。
<html>
<head>
<title>MDpay default response template for web</title>
</head>
<body bgcolor="#02014E" OnLoad="OnLoadEvent();" >
<form name="downloadForm" action="https://katmai.est.com.tr/mdpayacs/pareq" method="POST">
<!-- Some Input Fields -->
</form>
<SCRIPT LANGUAGE="Javascript" >
function OnLoadEvent() {
document.downloadForm.submit();
}
</SCRIPT>
</body>
</html>
この html をポップアップ画面で開きたい場合、OnLoadEvent はトリガーされません。
var popup = window.open('','');
popup.document.write("'"+data+"'");
popup.focus();
これが機能する場合、それはすべて良いことです。本文で onload 関数を呼び出すので、OnLoad で呼び出される関数が何であるかは気にしません。
var popup = window.open('','');
popup.document.write("'"+data+"'");
popup.document.body.onload();
popup.focus()
しかし、ポップアップでこれを行いたくありません。新しいタブやページを開きたくありません。ユーザーから値を取得するのと同じ画面でこれを行いたい..したがって、返されるhtmlをdivに書き込みますが、1つのhtmlに2つのbodyタグを含めることはできないため、ブラウザーには新しいbodyタグが含まれませんOnLoad 関数名を含む..
document.getElementById('vpos').innerHTML=data;
document.downloadForm.submit() // this is the code that works in OnLoad function.if a write that code statically of course it works, but this code logic can always change.
どうすればこれを解決できますか。私がはっきりしていることを願っています..