Просмотров: 12382
Дата последнего изменения: 21.06.2023
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Для обращения к офлайн-ресурсу используется схема bxlocal://
или через виртуальную директорию __bxoffline__
. Используя эту схему, вы сообщаете платформе, что хотите обратится к локальному контенту.
Еще одна из важных особенностей офлайн-приложения на BitrixMobile - свобода в использовании офлайн-ресурсов:
- Доступ к офлайн-страницам
- Старт приложения из офлайн-страниц. Страницы указываются в конструкторе.
- Открытие одной офлайн-страницы из другой.
Например, через простую ссылку:
<a href="bxlocal://detail.html">Детальная страница</a>
<a href="http://mysite.com/__bxoffline__/detail.html">Детальная страница</a>
или через BXMobileApp.PageManager
с передачей параметров:
<script>
BXMobileApp.PageManager.loadPageBlank({
url: "bxlocal://detail.html",
data:{key:"value"},
title: "Детальная страница"
});
</script>
- Открытие офлайн-страницы со страницы на удаленном сервере. Точно также как и в п.2.
- Открытие страницы на удаленном сервере с офлайн-страницы:
<script>
BXMobileApp.PageManager.loadPageBlank({
url: "/mobile_app/detail.php",
data:{key:"value"},
title: "Детальная страница"
});
</script>
- Открытие страницы на удаленном сервере с офлайн-страницы.
- Доступ к офлайн-изображениям:
<img src="bxlocal://myimage.png">
- Доступ к контенту других файлов (только для Android).
Например, можно добавить файл data.json
c содержимым:
{
"key1":"value1",
"key2":"value2",
"key3":"value3"
}
Данные из этого файла можно получить через ajax-запрос. В разных ситуациях это делается по-разному:
- Если вы пытаетесь получить контент офлайн-файла со страницы на удаленном сервере, то нужно использовать виртуальную директорию
__bxoffline__
:
BX.ajax.get("/__bxoffline__/data.json",{},function(data){
console.log(data);
});
- Если запрос осуществляется с офлайн-страницы, то можно использовать как предыдущий вариант, так и упрощенный:
BX.ajax.get("data.json",{},function(data){
console.log(data);
});