我正在使用Lightbox的PayPal嵌入式支付流量:
https://developer.paypal.com/docs/classic/adaptive-payments/integration-guide/apintro/
付款完成后,用户将指向成功URL。在成功URL上,我有一个脚本,该脚本被认为是成功URL的内容替换顶级窗口内容:
https://developer.paypal.com/docs/classic/express-checkout/digital-goods/closingwindow/
我的代码如下:
$(document).ready(function(){
if (window != top) {
top.location.replace(document.location);
}
})
这在Chrome,Opera和Firefox中效果很好。问题在于,在IE 11和Edge中,PPDG框架仍然存在,这阻止了我的页面加载全屏。我尝试以各种方式使用CloseFlow(),例如:
$(document).ready(function () {
dgFlow = top.dgFlow || top.opener.top.dgFlow;
dgFlow.closeFlow();
if (window != top) {
top.location.replace(document.location);
}
})
但是,我似乎无法使其在IE或Edge中正常工作。
这是我用来调用嵌入式流的代码:
<form action="https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay" target="PPDGFrame" class="standard">
<input type="image" id="submitBtn" value="Pay with PayPal" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynowCC_LG.gif">
<input id="type" type="hidden" name="expType" value="light">
<input id="paykey" type="hidden" name="paykey" value=@ViewData["paykey"]></form>
<script src="https://www.paypalobjects.com/js/external/dg.js"></script>
<script>var dgFlow = new PAYPAL.apps.DGFlow({ trigger: 'submitBtn' });</script>
是否有人可以帮助我在IE和Edge中进行这项工作?
好吧,我使用window.opener弄清楚了这一点。因此,看来我的Edge的工作代码,即11,Chrome,FF和Opera是:
$(document).ready(function () {
if (window.opener) { // check if opened in popup
window.close();
}
if (window != top) {
top.location.replace(document.location);
}
})
到目前为止很好........