Пути PhoneGap и корневого URL для активов
Скажем, у меня есть мобильный сайт, который использует корневые пути URL для включения активов, например:
<link rel="stylesheet" href="/_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="/_assets/css/jquery.mobile.structure-1.0.min.css" />
В PhoneGap, похоже, я не могу ссылаться на файлы таким образом. В моем файле index.html они должны быть относительными путями, такими как:
<link rel="stylesheet" href="_assets/css/jquery.mobile.theme.css" />
Но как насчет файла, расположенного глубоко в моей структуре каталогов, например /sub/dir/index.html. Используя относительные пути, мне пришлось бы использовать следующее:
<link rel="stylesheet" href="../../_assets/css/jquery.mobile.theme.css" />
Можно ли каким-либо образом ссылаться на этот файл? Я пробовал следующее без успеха:
<link rel="stylesheet" href="/www/_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="file:///www/_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="file://www/_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="local:///www/_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="local://www/_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="file:///_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="file://_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="local:///_assets/css/jquery.mobile.theme.css" />
<link rel="stylesheet" href="local://_assets/css/jquery.mobile.theme.css" />
и, возможно, еще несколько попыток. Я бы предпочел не использовать относительные URL-адреса, так что, надеюсь, что-то возможно.
Ответы
Ответ 1
Я предлагаю проверить PhoneGap на iOS с абсолютными URL-адресами пути для активов? второй ответ показывает истинный абсолютный путь, который выглядит примерно так:
file:///var/mobile/Applications/7D6D107B-D9DC-479B-9E22-4847F0CA0C40/YourApplication.app/www/...
Не то, на что я бы положился.
Ответ 2
Я думаю, что правильный href (например, jquery.mobile.theme.css):
"file:///www/android_assets/css/jquery.mobile.theme.css"
Ответ 3
У меня такая же проблема с изображениями на Android. В локальном браузере отлично работает, но когда я развертываю приложение на своем Android-устройстве, изображения не будут загружаться.
В примере jQuery mobile я заменяю каталог _assets на активы, а затем меняет URL-адреса на эту папку и работает для меня.