You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 8, 2021. It is now read-only.
For URI schemes like qrc: (Qt resource; http://qt-project.org/doc/qt-5.0/qtcore/resources.html) which do not include an
authority but only a path the method $.mobile.path.getLocation()
incorrectly returns a URL with a double-slash (//) after the scheme name.
In a Qt Webkit ThinClient application ("Web application wrapper"; http://qt-project.org/doc/qt-4.8/qtwebkit-bridge.html) this resulted in continuously
adding up slashes in front of the path (e.g. "qrc://////index.html") when jQuery Mobile handles navigation. This in turn resulted in a complete page reload for pure anchor links instead of just handling the hash change.
(The issue occured in combination with a application using BackboneJS as a router.)
So what is the issue: The method $.mobile.path.getLocation() incorrectly assumes that the URI's hierarchical part (http://en.wikipedia.org/wiki/URI_scheme) always starts with a double-slash (//). A URI "mailto:foobar@example.com" (which is authority-less, too) might not make much sense when supplied to $.mobile.path.getLocation(). However, for qrc: URIs it's the way resources are addressed in Qt. jQuery mobile alters a qrc:/index.html URI to qrc:///index.html, which does not seem correct to me.
Original pull request is #6597 and commit is e5290d2 (5 tests failed)
Affected versions: at least 1.3.1 until master
Simple testcase: http://jsbin.com/ofuhaw/606/