Menu Close

How to Avoid Browser Popup Blockers with JavaScript Code?

How to Avoid Browser Popup Blockers with JavaScript Code

Sometimes when we try to open a window with the method, we may see the browser permission popup asking for permission to open the popup created by .

In this article, we’ll look at how to avoid browser popup blockers within our JavaScript code.

Avoid Calling in Async Functions

To avoid the permission popup for opening the popup, we should use avoid calling in a function that returns a promise or in callbacks for functions like setTimeout , setInterval , or any other async function.

This is because, a popup can only be opened from an app without permission with direct user action.

The depth of the call chain may also matter since some older browsers requires permission is isn’t called by the function that’s run immediately after a user action.

Therefore, we should call within synchronous functions run as a result of direct user action to avoid the popup permission popup from showing in any browser.

We can check if a popup is blocked by checking if returns null or undefined .

For instance, we can check if a popup window is blocked by writing:

const pop = (url, w, h) => {
  const popup =, '_blank', 'toolbar=0,location=0,directories=0,status=1,menubar=0,titlebar=0,scrollbars=1,resizable=1,width=500,height=500');
  return popup !== null && typeof popup !== 'undefined'

We call with the url as the first argument and a string with some settings as the 3rd argument.

Then we return is popup isn’t null and popup isn’t undefined .

If the popup opens, then popup shouldn’t be null and it shouldn’t be undefined .

And so pop should return true if the popup opens.

Posted in JavaScript

You can also read...