If data-url is set on a page div when it returns from the server, it's value will be used to replace the url in the hash, and as the base url for future requests if it adds additional segments (such as a trailing slash). This will enable developers to work around the limitation of directory links requiring a trailing slash, and will also allow developers to specify a new url after a redirect occurs (such as after a login). Fixes#867
This makes our include model match the include model on the CDN, and allows devs to make use of mobileinit for debugging some of the samples since that must be set up after jquery.js, but before jquery-mobile.
The shift away from interal ID attribute usage also allows users to bind page events (pagecreate, pagebeforecreate) to a page div by its ID, which was a frequent cause of confusion when it didn't work as expected in former versions of the framework.
Seemingly unrelated: these commits allow you to specify data-role="dialog" in multipage and single page templates. In multipage templates, the role must be on the page (a link with data-rel alone will not work in multi-page). This addresses issue number 464, but may need further testing for obscure scenarios.
Fixes#477 (Pages are not enhanced when linking to a filename without a path)
Fixes#493 (Click the same link twice -> blank page)
Fixes#513 (closing dialog + returning to the same dialog)
Fixes#550 (changePage() not updating hash for internal pages - breaks )
Fixes#464 (Dialogs don't work within multi-pages)
Fixes#633 (Recent change to prevent same-page requests breaks select menu close button)
Fixes#599 (Page ids & page specific events)
Fixes#634 (After a bad page request, base url is not reset to current path)
booya.
Also, clicks that are triggered on anchors will now be able to make a new http request, which improves listview behavior when clicking LIs that resolve to external urls.
Included in commit is a new demo/test page with various link types to make sure they behave as expected.
Fixes#272, Fixes#264