I recently had a problem where I was opening a browser window from an e-mail client. After taking a survey, I wanted a button to close this same window. In IE, it was fine to simply use window.close(); to close the window. However, Firefox, the evil genius that it is, will not let you do that because it believes you did not click to open this window in the first place. In order to trick it, you quick load a blank page then close it. The code:
<a href="javascript:window.open('','_parent','');window.close();">
Close this window</a>
So now, when you click the link, it closes the browser window. It works in both IE and Firefox 1.5 (and I believe others as well, but not personally tested). Finding that snippet of code saved me a lot of time! So I hope someone else finds it useful.
Update, May 1 2008:
This code only works on Firefox 1.5 and IE. In Firefox 2.0, Unless a website opened up a window – it can not close it. So, in my case I want to close the window after a user takes a survey, opened from an email window. Firefox 2.0 gives this error: Scripts may not close windows that were not opened by the script. I’m not sure what the right answer is here. They are doing it to prevent malicious scripts from closing windows. But even if they added an option to change that, most users wouldnt have it enabled by default.
So… where does that leave us? Please let me know if anyone knows of code that can close a window with Javascript in Firefox 2.x or 3.x.
Tags: firefox, JavaScript
« Greasemonkey + Duggmirror Script = Awesome | Foxit PDF Reader 2.0 »



Comments
Posted November 8th, 2006 @ 05:23:04
Bravo!!! Funziona.
Posted December 14th, 2006 @ 07:14:37
Doesn’t work in firefox 2.0
Posted December 20th, 2006 @ 13:16:41
Does anyone have a solution to Firefox 2.0 and closing a window with Javascript that does not involve changing Firefox settings?
Posted March 7th, 2007 @ 04:59:03
But this trick is not working for FF 2.0.0.2, do you have any work around for this?
Posted October 2nd, 2007 @ 15:41:24
did anyone ever figure out how to write a close window javascript that will work in Firefox 2?
Posted November 14th, 2007 @ 02:20:45
This worked perfectly for me with Firefox 2.0.0.9
Posted November 29th, 2007 @ 18:43:01
Not working with Firefox 2.0.0.10
Posted December 3rd, 2007 @ 16:34:49
not working with my Firefox 2.0.0.9
Posted February 27th, 2008 @ 16:18:04
Not working with my Firefox 2.0.0.12.
Posted March 3rd, 2008 @ 03:39:07
Not working with firefox v2.0.0.12
Posted March 3rd, 2008 @ 04:19:22
Not working with firefox v2.0.0.12
Posted May 1st, 2008 @ 08:43:56
Not working with my Firefox v2.0.0.14.
Posted May 9th, 2008 @ 05:29:04
its not working on FireFox 2.0
Posted May 21st, 2008 @ 11:46:11
under ff 2 you have to set manually under about:config
dom.allow_scripts_to_close_windows to true
then it’ll work
Posted May 29th, 2008 @ 04:45:49
Works like a charm! Thanks!!!:)
Posted August 18th, 2008 @ 02:39:17
well it works with older version .. thankyou
Posted September 6th, 2008 @ 18:24:21
it doesn’t work in FF2.0.0.13
Posted October 10th, 2008 @ 11:02:53
This works in firefox 2.0.0.17 (for Mac):
Use this script to open a popup window:
then to close window: insert the above script before the close link on popupfile.html, then make link:
Posted October 10th, 2008 @ 11:09:21
<script type="text/javascript" language="JavaScript">
<!–
function PopupWindow() {
var attributes = ‘width=400,height=500,scrollbars=yes’;
window.open(’XXXXXXXXXXXX.html’,'2′,attributes);
} //–>
</script>
<a href="javascript:PopupWindow()"><img src="xxxxxxxxxxxxxx.jpg" border="0"> </a>
then to close: script before link, then make link:
<a href="javascript:window.close()">
Posted December 24th, 2008 @ 00:41:28
Thanks Guys! Just learning js and found your solution for firefox. Now if I can only put my hair back in my head.