That is great! Thank you both!

I want to share my research about web2py + jQuery Mobile - made a lot of 
tests.  The bottom line id as follows.

JQuery Mobile is designed for mobile but it turns out it works on desktop 
too. This is great because one design can work for both mobile and desktop 
and it saves a lot of time. Unfortunately IE is creating an issues.

1) If ajax is enabled in jQuery Mobile the site looks great and the buttons 
look beautiful and have an added visible which makes clicking on buttons in 
IE to work always as expected, also submit buttons are working fine.
The issue (only with IE) is that when ajax is enabled a hash appears in the 
browser bar and other side effects too. One side effect is for example you 
login on the site and you are on /user/login page and the address bar shows 
it up correctly. When you login redirection goes to front page but in the 
browser address bar /user/login stays. If you click on a link web2py 
changes the address bar correctly. But if you want to do a redirection, in 
address bar you see /user/login staying. You are in /myinfo but you 
see /user/login in the address bar. If yo uhappen to come to myinfo with 
clicking on other links before, IE adds '#' tag for 
example /user/login#myinfo. Coming to myinfo, you fill out the form and hit 
submit. Because in the browser bar you have /user/login#myinfo, the form is 
not submitted because web2py thinks you are in /user/login.

2) if ajax is enabled gobally jQuery Mobile has an option to add 'ajax 
disabled' for the link or submit button, but it does not change the 
behavior with IE.

3) the only way to show the browser bar correctly and eliminate the hash is 
by disabling the ajax globally. Which makes the site not looking good and 
now you have a different issue. Clicking on buttons and submit with IE is 
not reliable, you have to click on the upper part of the button (?!?).


So the bottom line is for IE better to leave ajax on and solve the browser 
bar some other means. For example I mentioned that if a click is made 
manually the browser bar comes correct and there is not a hash. jQuery 
Mobile can make clicks programmatically and I will try to detect IE, get 
the web link of the current page (send via {{=link}} for example using 
web2py) and click to it programmatically. This will refresh the page and I 
believe the address bar wil lbe corrected.  I don't see any other way.

Regards,
--Constantine






Reply via email to