I did find a rather ugly workaround. If imbed the login as an <iframe>
(not an <object>), I can use a bit of Javascript to reload the parent
page and make the <iframe> go away. To do this, I have the the login
redirect generates the following:

self.response.out.write('<html>\n')
self.response.out.write('<head>\n')
self.response.out.write('<script type="text/javascript">\n')
self.response.out.write('function test()\n')
self.response.out.write('{\n')
self.response.out.write('   if (self != parent)
parent.window.location.reload();\n')
self.response.out.write('}\n')
self.response.out.write('</script>\n')
self.response.out.write('</head>\n')
self.response.out.write('<body onload="test();">\n')
self.response.out.write('<p>Loading...</p>\n')
self.response.out.write('</body>\n')
self.response.out.write('</html>\n')

On the resulting reload, I can tell that someone is logged in
(users.get_current_user()) and then proceed as normal.

The same approach works fine for an <object> with Chrome and Firefox.
But it does not work with IE for some reason. It seems the resulting
"frame" (though we're using the <object> tag to generate it) isn't
built with same parent-child relationship as is done under Chrome and
Firefox. Consequently, with IE, the reload() only affects the frame,
not the window. So, I do have a working solution if I'm willing to
give up adhering to XHTML Strict.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to