I was writing a facebook application.
I had a form when the submit button is clicked i show the authorization dialogue.
What happened was when the user either clicked cancel or accept the dialogue redirected to channel.html instead of closing itself.
This happened in Internet Explorer.
On other browsers when i pressed the cancel button it redirects to http://facebook.com/home.php (i think it is a problem with facebook)
After doing trial and errors i found that i had a non https url also when ever i loaded the page it showed the insecure content alert in internet explorer.
After fixing the urls to https making sure that no url is http in my site that insecure content alert did not appear and i did not get the channel.html
so after fixing the insecure content problem and after authorization of facebook the dialogue closed properly as expected.
so if you guys are struck with this then try to change no https url’s to https and the dialogue works fine.
Besides, if you want another work around which is not completely verified way… here we go…
find where the request has come from and according to that use window.close
for example when i clicked cancel i had the content in the url saying “user cancelled” (this is not the exact word i got but i am just giving an example)
so i can parse to find that word and can close the dialouge according to it.
Like this you can check the url and find a text which appears when ever you cancel or authorize and use it to condition to close the dialouge window.