Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
42
rated 0 times [  45] [ 3]  / answers: 1 / hits: 58535  / 12 Years ago, tue, may 22, 2012, 12:00:00

I want to direct a customer in an e-commerce site to pay via Paypal's website.
I would like the payment to be done in a new tab/window so the customer doesn't lose the current state of the web page he/she is at.



In order for the Paypal window to open without getting blocked, I am using an anchor with target=_blank. Which is working perfectly except for the fact, I can't close it after Paypal payment is done since window.close() doesn't work for windows that were not opened via window.open().



How do I make it so it is BOTH not blocked as a popup AND I am able to close it with JS later on?


More From » popup

 Answers
4

In order for the Paypal window to open without getting blocked, I am using an anchor with target=_blank.




That's one option, but as long as you call window.open from within the handler for a user-generated event (like click), you can open pop-up windows. So just make sure you call window.open from within a click handler on the link (and then you can close it). Modern pop-up blockers (anything from the last several years) block pop-ups that aren't triggered by a user event, but allow ones that are.



Live example | source:



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;
};

})();

[#85423] Monday, May 21, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
jimmieo

Total Points: 515
Total Questions: 102
Total Answers: 110

Location: Kazakhstan
Member since Mon, Sep 26, 2022
2 Years ago
;