--- EDIT.
I don\'t get it; yesterday it seemed to be ignored; now it seems to be working. Even within loop and called via setTimeout()
Popup blockers in most popular browsers will only allow a new window to be opened if it is opened as a result of code running from a direct user action such as a click. Because a setTimeout() happens some time in the future, is not considered the direct result of a user action so attempts to open windows from setTimeout() are likely blocked by the popup blocker.
In essence, trying to fire window.open
from within setTimeout()
leaves the browser to "think" it's a popup which deserves (silent) blocking. -- If, in contrast, window.open
is fired on it's own, the browser treats seems to treat it like a "user click", that is, not as spam to be blocked.