Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'window.open' blocked by Firefox

I use window.open and call it at the document ready event, but it is blocked by a popup blocker in Firefox. Then I added this to the function and make a call of this function from a button and then trigger the button click without success:

$(function(){    
    abcd();    
});


function abcd(){
    var popup = window.open("http://localhost/johndyer-mediaelement-7ed6c51/demo/index.php","mypopup","width=500,height=300");       
 }

Is there some way to open an external popup window or new tab on browser when the page loaded?

like image 942
Suneth Kalhara Avatar asked May 06 '12 15:05

Suneth Kalhara


People also ask

How do I unblock a browser from opening a window?

Click the ellipsis icon (...) in the upper right corner of your web browser, and then click Settings. In the Advanced settings section, click View advanced settings. In the Block pop-ups section, click the switch to Off. Pop-ups are now allowed.


2 Answers

Firefox has a bunch of rules that helps it to decide whether popup should be blocked or not. Usually if action is initialized with user click, firefox will allow opening popup, but if it's done by "pure" javascript it will most likely block it.

You can read about it in here: http://support.mozilla.org/en-US/kb/Pop-up%20blocker.

So if you read article carefully you will notice that popups initialized by user click will open:

<input type="button" value="Click Me"/>

and jquery code

$('input').click(function(){window.open("http://google.com");​​​​})​

even with popup blocker turned on. Try it:

http://jsfiddle.net/demee/mQ9eR/

like image 146
demee Avatar answered Oct 12 '22 05:10

demee


Don't open pop up advertising. It's annoying.

On the other hand, if it's a message the user wants to see, then you can use a jQuery plugin like Colorbox to display a hovering modal window without opening a new popup, that the user can easily close.

like image 24
Ali Avatar answered Oct 12 '22 06:10

Ali