This repository has been archived by the owner on Oct 8, 2021. It is now read-only.
Navigation with authority-less URI schemes fail #6599
Comments
gabrielschulhof
pushed a commit
that referenced
this issue
Mar 20, 2014
Note: this does indeed represent a fix for gh-6574, but only once a version of Cordova sporting apache/cordova-wp8#30 is released. Closes gh-6597 Fixes gh-6574 Fixes gh-6599
gabrielschulhof
pushed a commit
that referenced
this issue
Apr 8, 2014
Note: this does indeed represent a fix for gh-6574, but only once a version of Cordova sporting apache/cordova-wp8#30 is released. Closes gh-6597 Fixes gh-6574 Fixes gh-6599
gabrielschulhof
pushed a commit
that referenced
this issue
May 29, 2014
@gabrielschulhof Awesome, thank you for fixing this issue! |
agcolom
pushed a commit
to agcolom/jquery-mobile
that referenced
this issue
Nov 26, 2014
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
For URI schemes like
qrc:
(Qt resource; http://qt-project.org/doc/qt-5.0/qtcore/resources.html) which do not include anauthority 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.)
As this issue can only be fully reproduced in a ThinClient (demo code: http://qt-project.org/doc/qt-4.8/webkit-imageanalyzer.html), no full jsbin testcase is attached.
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, forqrc:
URIs it's the way resources are addressed in Qt. jQuery mobile alters aqrc:/index.html
URI toqrc:///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/
The text was updated successfully, but these errors were encountered: