我想指导电子商务网站中的客户通过 Paypal 的网站付款。我希望在新的选项卡/窗口中完成付款,这样客户就不会丢失他/她所在网页的当前状态。
为了让 Paypal 窗口打开而不会被阻止,我使用了 target="_blank" 的锚点。除了以下事实外,它工作得很好,在 Paypal 付款完成后我无法关闭它,因为window.close()
它不适用于未通过window.open()
.
我怎样才能使它既不被阻止为弹出窗口,又可以稍后用 JS 关闭它?
我想指导电子商务网站中的客户通过 Paypal 的网站付款。我希望在新的选项卡/窗口中完成付款,这样客户就不会丢失他/她所在网页的当前状态。
为了让 Paypal 窗口打开而不会被阻止,我使用了 target="_blank" 的锚点。除了以下事实外,它工作得很好,在 Paypal 付款完成后我无法关闭它,因为window.close()
它不适用于未通过window.open()
.
我怎样才能使它既不被阻止为弹出窗口,又可以稍后用 JS 关闭它?
为了让 Paypal 窗口打开而不会被阻止,我使用了 target="_blank" 的锚点。
这是一种选择,但只要您window.open
从处理程序中调用用户生成的事件(如click
),您就可以打开弹出窗口。因此,只需确保您window.open
从click
链接上的处理程序中调用(然后您可以关闭它)。现代弹出窗口阻止程序(过去几年的任何内容)阻止不是由用户事件触发的弹出窗口,但允许那些由用户事件触发的弹出窗口。
HTML:
<p><a href="#" id="target">Click to open popup</a>; it will close automatically after five seconds.</p>
JavaScript:
(function() {
document.getElementById("target").onclick = function() {
var wnd = window.open("http://stackoverflow.com");
setTimeout(function() {
wnd.close();
}, 5000);
return false;
};
})();