3

我有一个父页面,PayPal上面有按钮。按下按钮将触发一个迷你浏览器,用户可以在其中登录并付款。

以下代码在用户付款成功后关闭 PayPal 迷你浏览器。

// Add javascript to close Digital Goods frame. You may want to
                // add more javascript code to
                // display some info message indicating status of purchase in
                // the parent window
                response.setContentType("text/html");
                response.getWriter()
                        .println(
                                "<script>\n alert(\"Payment Successful\");\n// add relevant message above or remove the line if not required \n window.onload = function(){\nif(window.opener){\nwindow.close();\n}\nelse{\nif(top.dg.isOpen() == true){\ntop.dg.closeFlow();\nreturn true;\n}\n}\n};\n</script>");

迷你浏览器已成功关闭,但我的应用程序上的父页面保持不变。如何使用付款状态更新父页面?

4

1 回答 1

5

window.close();我通过在父页面访问表单之前添加以下 JS 代码解决了这个问题。获得表单后,我可以提交页面或显示有关状态的对话框通知。

    window.onload = function() {
    if (window.opener) {
        window.opener.document.forms[0].submit(); // submit form
        window.close();
    } else {
        if (top.dg.isOpen() == true) {
            top.document.forms[0].submit(); // submit form
            top.dg.closeFlow();
            return true;
        }
    }
};
于 2013-04-01T04:11:13.443 回答