Skip to content Skip to sidebar Skip to footer

How Can I Use Relative Urls In Ajax Requests Within Trigger.io Apps On Android 4.4 (kitkat)?

My trigger.io-bundled jquery-mobile app works great on both android < 4.4 and iOS devices but refuses to load any relative pages, scripts etc. on android 4.4 once jquery mobile

Solution 1:

Unfortunately the Android 4.4 WebView's URL canonicalization/normalization logic is a lot more conservative for non-standard[a] schemes. This is because the normalization of standard schemes assumes it can change the URL to lowercase, do %-encoding, etc.. which would break content:// URLs for example. If you look at the bug you've linked it seems like the root issue of the problem is jqm rewriting the urls to be content://// instead of content://.

I don't think it's likely resolving the 4 slashes meets the bar for an urgent fix in the WebView (you're welcome to file a bug on this if you disagree) so IMHO the best (and probably fastest) way to address this would be to work with the jqm team (or submit a pull request) to make jqm not add the extra 2 slashes to the URI.

[a] Chromium has a list of hardcoded "standard" schemes. These include http, https, ftp, etc. and it's essentially a list of schemes known to be compatible with the normalization algorithm.

Edit: unfortunately changing the targetSdkVersion won't help you in this case.

Post a Comment for "How Can I Use Relative Urls In Ajax Requests Within Trigger.io Apps On Android 4.4 (kitkat)?"