I am having strange behaviour on my Android emulator. window.open() always returns undefined when called from setTimeout or callback function e.g. AJAX callback. However window.open() successfully opens a popup when called from an event handler e.g. onclick here is sample code: <html> <head> </head> <body> <script type="text/javascript"> function fnc() { setTimeout(function() { alert(window.open('