i have ported a few applications from version 1.1 to 1.2.0 Final and recognized a serious loss in performance. When the pages contain a few elements,lists, forms and so, then the application "freezes" before page transition animations start, even on the jqm documentation page. Its happening on all of my test devices: iphone3, ipad3 and an asus transsformer tablet with latest android installed.
I would like to know what the reason for this behaviour is?
The reverse slide animation looks totally different when i start the application from the iphones/ios6 homescreen instead starting the app from safari. In fact both animation look a little wrong.
But the animation in the homescreen-scenario is strange somehow. I would like to know what the reason for that jqm-animations are depending on the start-scenario?
It only seems to ba a problem with jqm 1.2 final and ios.
how can i write the title of the pervious page on the back button? Since there are several options to navigate to a single page i think of a client side solution.
This is a bit offtopic its not really a jqm thing but a more general issue to touch devices. But hey there are so many cool n' creative people in here and maybe one has an idea.
We were thinking about how someone can hand sign something on a touch device. If you get a parcel from a parcel service usual you acknowledge the receipt on some handheld device with a palm pen.
Coding a little drawing tool was pretty easy with html canvas. Also a png export was no big deal.
The problem is that no one who tried it was able to write down his signature properly without a pen only having the forefinger as instrument. LOL!
I got a few links for interaction only. The links should display the servers html result but not change the history stack. acting more like an input form...
For simplicity i wouldnt write javascript event code for handling stuff. So i started with this html markup.
<a href="/bla/fourtytwo/hangman" data-changepage="false">change form values</a>
I've implemented my new data attribute changepage in jquery.mobile.navigation.js. It seems to work but because i dont have a glimpse about jqm core and even javascript at all i am absolutely not sure if this thing really works or is producing evil side effects. So it will be totally cool if someone can help me, give a hint.
If using URLs containing parenthesis in Mozilla Firefox, there is a problem with the location.hash. The handling of URLs with parenthesis for example when hitting the back or forward button leads to Syntax Errors in Firefox JavaScript Engine: uncaught exception: Syntax error, unrecognized expression: data-url='...(...'
The Exception is thrown by Sizzle.
This error is thrown at serveral positions in jQuery Mobile code, for example: to = $( ":jqmData(url='" + url + "')" ); "jquery.mobile.navigation.js"
Because of our funny business backend we have a lot URL containing parenthesis so we worked arround this error.
When a form gets submitted jqm will ajax post the data and change the page url hash. Changing the page url hash is somehow uncomfortable for CRUD apps.
Starting updating or creating database entries is more like a self-contained process. I like to hit submit several times, type in values, getting errors, type in better values submitting again and so on until i get a success page at last. Over the hole process i expect the back button pointing to the entry point of the hole update process. I think this would be a very nice default behaviour.
To get this beaviour i changed the 1.0a4 core like this:
from:
ORIGINAL
$( "form" ).live('submit', function(event){
.
....snipp
.
$.mobile.changePage({
url: url.length && url || path.get(),
type: type.length && type.toLowerCase() || "get",
data: $(this).serialize()
},
$(this).jqmData("transition"),
$(this).jqmData("direction"),
true //
);
.
....snapp
.
To this:
PATCHED
$( "form" ).live('submit', function(event){
.
....snipp
.
$.mobile.changePage({
url: url.length && url || path.get(),
type: type.length && type.toLowerCase() || "get",
data: $(this).serialize()
},
$(this).jqmData("transition"),
$(this).jqmData("direction"),
false //DISABLE CHANGEHASH
);
.
....snapp
I suggest to make changeHash configurable to form submission and change the default to false
i think one idea behind animated page transition is to increase performance experienced by the user.
This will work when silde animation starts immediately after the user clicked on smth. and just showing a progress bar when the content is still not ready after the animation finished.
In my opinion JQM does transition animation in wrong order. First, jqm starts the progress bar and if content is ready jqm start the animation. In fact this will extend waiting time. Reordering animation will increase user experience
i built a navigation skeleton(simple list view) for a new app with jqm. Of course some links still point to nowhere. Now when i tap on such a link and get the expected 404 the jqm standard box("error loading page") pops up and then the hole application navigation is down completely. Clicking navigation items just changes the address bar of the browser but not the document body content. I checked that with chrome and firefox.