Is it allowed to use relative path for manifest.json and place it outside of the root?
TL; DR Relative and absolute paths both work
Suppose you have the following files:
/content/favicon/android-chrome-192x192.png
/content/favicon/manifest.json
, which referencesandroid-chrome-192x192.png
/index.html
, which referencesmanifest.json
with<link rel="manifest" href="/content/favicon/manifest.json">
Then the corresponding src
attribute of manifest.json
can be set to:
/content/favicon/android-chrome-192x192.png
(ie. absolute path). This is what you can test with the favicon compatibility test of RFG (full disclosure: I'm the author of this site).android-chrome-192x192.png
(ie. relative path). I've just tested this with Android Chrome 51. However, this option should be checked again as more browsers support the web app manifest.
Just to add some specific info., MDN says about the src
attribute:
If src is a relative URL, the base URL will be the URL of the manifest.
C.f. https://developer.mozilla.org/en-US/docs/Web/Manifest/icons